diff --git a/go/README.md b/go/README.md index b3e4c92..4395da2 100644 --- a/go/README.md +++ b/go/README.md @@ -25,8 +25,14 @@ reflect: reflect.DeepEqual(x1, x2) - для сравнения срезов os: .Exit(0/1) - для принудительного завершения программы + .ReadFile(x.json) - для получения того что находится в файле x.json map: map[ТипКлюча]ТипЗначения{} - для объчвления map delete(x, "Ключ") - для удаления элемента из map x1[x2] = x3 - для добавления элемента в map - value, ok := x1[x2] - для проверки существования элемнта в map, ok = true/false, value = значению x1[x2] \ No newline at end of file + value, ok := x1[x2] - для проверки существования элемнта в map, ok = true/false, value = значению x1[x2] +encoding/json: + .Unmarshal(x1, &x2) - для записи в x2 информации формата json, той сырой информации из x1, теперь можно обращаться к ней по x2.ИмяИзСтруктуры +github.com/joho/godotenv: + godotenv.Load() - для инита .env файла + os.Getenv("api") - для записи в переменную значения из env файла с ключом api \ No newline at end of file diff --git a/go/l13.go b/go/l13.go new file mode 100644 index 0000000..90cdad8 --- /dev/null +++ b/go/l13.go @@ -0,0 +1,29 @@ +package main + +import ( + "fmt" + "encoding/json" + "log" + "os" +) + +type Json struct{ + Name string `json:"name"` + Version int `json:"ver"` + Active bool `json:"act"` +} + +func main() { + jsonn, err := os.ReadFile("l13.json") + if err != nil { + log.Fatalf("Ошибка при чтении файла: %v", err) + } + var conf Json + err = json.Unmarshal(jsonn, &conf) + if err != nil { + log.Fatalf("Ошибка при чтении файла: %v", err) + } + if conf.Active { + fmt.Println("Статус:", conf.Active) + } +} diff --git a/go/l13.json b/go/l13.json new file mode 100644 index 0000000..550b001 --- /dev/null +++ b/go/l13.json @@ -0,0 +1,5 @@ +{ + "name": "program", + "age": 228, + "act": true +} diff --git a/go/l5.go b/go/l5.go index e232f1e..f1c2df4 100644 --- a/go/l5.go +++ b/go/l5.go @@ -4,12 +4,13 @@ import ( "fmt" "os" "github.com/joho/godotenv" + "log" ) func main() { err := godotenv.Load() if err != nil { - fmt.Println("не") + log.Fatalf("%v\n", err) return } api := os.Getenv("api_key") diff --git a/go/output/l13 b/go/output/l13 new file mode 100755 index 0000000..64799a9 Binary files /dev/null and b/go/output/l13 differ diff --git a/go/output/l5 b/go/output/l5 index 4d2bc74..1af7e0e 100755 Binary files a/go/output/l5 and b/go/output/l5 differ