ソースを参照

add new file go/l13.go for work json and update l5.go to change fmt.Println on log.Fatalf

hhu67 1 ヶ月 前
コミット
d7baf0b099
6 ファイル変更43 行追加2 行削除
  1. 7 1
      go/README.md
  2. 29 0
      go/l13.go
  3. 5 0
      go/l13.json
  4. 2 1
      go/l5.go
  5. BIN
      go/output/l13
  6. BIN
      go/output/l5

+ 7 - 1
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]
+    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

+ 29 - 0
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)
+	}
+}

+ 5 - 0
go/l13.json

@@ -0,0 +1,5 @@
+{
+	"name": "program",
+	"age": 228,
+	"act": true
+}

+ 2 - 1
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")

BIN
go/output/l13


BIN
go/output/l5