sdf
This commit is contained in:
parent
d7dc52283a
commit
fd57dc9b95
27
headFirst/interfaces/gadget/tape.go
Normal file
27
headFirst/interfaces/gadget/tape.go
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
package gadget
|
||||
|
||||
import "fmt"
|
||||
|
||||
type TapePlayer struct {
|
||||
batteries string
|
||||
}
|
||||
|
||||
func (t TapePlayer) Play(song string) {
|
||||
fmt.Println("Playing", song)
|
||||
}
|
||||
|
||||
func (t TapePlayer) Stop() {
|
||||
fmt.Println("Stopped")
|
||||
}
|
||||
|
||||
type TapeRecorder struct {
|
||||
Microphones int
|
||||
}
|
||||
|
||||
func (t TapeRecorder) Play(song string) {
|
||||
fmt.Println("Playing", song)
|
||||
}
|
||||
|
||||
func (t TapeRecorder) Stop() {
|
||||
fmt.Println("Stopped")
|
||||
}
|
||||
3
headFirst/interfaces/go.mod
Normal file
3
headFirst/interfaces/go.mod
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
module main
|
||||
|
||||
go 1.24.6
|
||||
26
headFirst/interfaces/main.go
Normal file
26
headFirst/interfaces/main.go
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
package main
|
||||
|
||||
import "main/gadget"
|
||||
|
||||
type Player interface {
|
||||
Play(string)
|
||||
Stop()
|
||||
}
|
||||
|
||||
func playlist(device Player, songs []string) {
|
||||
for _, song := range songs {
|
||||
device.Play(song)
|
||||
}
|
||||
device.Stop()
|
||||
}
|
||||
|
||||
func main() {
|
||||
var player Player
|
||||
player = gadget.TapePlayer{}
|
||||
mixtape := []string{"Red Plesen'", "Coco Jambo","Barbied Girl"}
|
||||
playlist(player,mixtape)
|
||||
|
||||
player = gadget.TapeRecorder{}
|
||||
mixtape = []string{"Dectl'", "Carmen","Scatman"}
|
||||
playlist(player,mixtape)
|
||||
}
|
||||
5
headFirst/recover/data.txt
Normal file
5
headFirst/recover/data.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
3
headFirst/recover/go.mod
Normal file
3
headFirst/recover/go.mod
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
module main
|
||||
|
||||
go 1.24.6
|
||||
45
headFirst/recover/main.go
Normal file
45
headFirst/recover/main.go
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func OpenFile(filename string) (*os.File, error) {
|
||||
fmt.Println("Opening file",filename)
|
||||
return os.Open(filename)
|
||||
}
|
||||
|
||||
func CloseFile(filename *os.File) {
|
||||
fmt.Println("Closing file")
|
||||
filename.Close()
|
||||
}
|
||||
|
||||
func GetNums(filename string) ([]int,error) {
|
||||
var nums []int
|
||||
file,err :=OpenFile("data.txt")
|
||||
defer CloseFile(file)
|
||||
if err != nil {
|
||||
return nil,err
|
||||
}
|
||||
scanner := bufio.NewScanner(file)
|
||||
for scanner.Scan() {
|
||||
number,err := strconv.ParseInt(scanner.Text(),10,0)
|
||||
if err != nil {
|
||||
return nil,err
|
||||
}
|
||||
fmt.Println(number)
|
||||
nums = append(nums, int(number))
|
||||
}
|
||||
if scanner.Err() != nil {
|
||||
return nil,scanner.Err()
|
||||
}
|
||||
return nums,err
|
||||
}
|
||||
|
||||
|
||||
func main() {
|
||||
GetNums("data.txt")
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user