Переглянути джерело

Merge branch 'master' of dtelenkov:Home/codewars

unknown 1 тиждень тому
батько
коміт
09464ad7ba

BIN
courses/golang_web/1_data_type/quiz/main


+ 72 - 0
courses/golang_web/1_data_type/quiz/main.go

@@ -0,0 +1,72 @@
+package main
+
+import (
+	"fmt"
+	"log"
+	"os"
+	"reflect"
+)
+
+func main() {
+	var flag bool
+	var file os.File
+	path := os.Args[1]
+
+	if len(os.Args) == 3 && os.Args[2] == "-f" {
+		flag = true
+	}
+
+	// fmt.Println(path)
+	fmt.Println(flag)
+
+	entries, err := os.ReadDir(path)
+
+	fmt.Println(reflect.TypeOf(entries))
+	fmt.Printf("Type: %T\n", entries)
+
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	for _, e := range entries {
+		fmt.Println(e.Name())
+	}
+
+	/*
+		// if len(os.Args) ==
+		fmt.Println(os.Args[0])
+		fmt.Println(os.Args[1])
+		fmt.Println(os.Args[2])
+	*/
+	/*
+		argsWithProg := os.Args
+		argsWithoutProg := os.Args[1:]
+
+		arg := os.Args[3]
+
+		fmt.Println(argsWithProg)
+		fmt.Println(argsWithoutProg)
+		fmt.Println(arg)
+		fmt.Println(os.Args[1])
+	*/
+	/*
+
+
+		wordPtr := flag.String("word", "foo", "a string")
+		numbPtr := flag.Int("numb", 42, "an int")
+		boolPtr := flag.Bool("fork", false, "a bool")
+
+		var svar string
+		flag.StringVar(&svar, "svar", "bar", "a string var")
+
+		flag.Parse()
+
+
+
+		fmt.Println("word:", *wordPtr)
+		fmt.Println("numb:", *numbPtr)
+		fmt.Println("fork:", *boolPtr)
+		fmt.Println("svar:", svar)
+		fmt.Println("tail:", flag.Args())
+	*/
+}

+ 9 - 0
courses/golang_web/1_data_type/task_2/go.mod

@@ -0,0 +1,9 @@
+module my_io
+
+go 1.24.1
+
+require (
+	github.com/creack/goselect v0.1.2 // indirect
+	go.bug.st/serial v1.6.4 // indirect
+	golang.org/x/sys v0.19.0 // indirect
+)

+ 6 - 0
courses/golang_web/1_data_type/task_2/go.sum

@@ -0,0 +1,6 @@
+github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0=
+github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY=
+go.bug.st/serial v1.6.4 h1:7FmqNPgVp3pu2Jz5PoPtbZ9jJO5gnEnZIvnI1lzve8A=
+go.bug.st/serial v1.6.4/go.mod h1:nofMJxTeNVny/m6+KaafC6vJGj3miwQZ6vW4BZUGJPI=
+golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
+golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=

+ 45 - 0
courses/golang_web/1_data_type/task_2/my_io.go

@@ -0,0 +1,45 @@
+package main
+
+import (
+	"fmt"
+	"log"
+
+	"go.bug.st/serial"
+)
+
+/*
+type Reader interface {
+	Read(p []byte) (n int, err error)
+}
+
+type Writer interface {
+	Write(p []byte) (n int, err error)
+}
+*/
+
+func main() {
+	ports, err := serial.GetPortsList()
+	if err != nil {
+		log.Fatal(err)
+
+	}
+	if len(ports) == 0 {
+		log.Fatal("No serial ports found!")
+	}
+
+	for _, port := range ports {
+		fmt.Printf("Found port: %v\n", port)
+	}
+
+	mode := &serial.Mode{
+		BaudRate: 115200,
+		Parity:   serial.NoParity,
+		DataBits: 8,
+		StopBits: serial.TwoStopBits,
+	}
+
+	port, err := serial.Open("/dev/ttyUSB0", mode)
+	if err != nil {
+		log.Fatal(err)
+	}
+}