Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpJsEn 181 of 280 menu
◀ ▶

Сборка структуры в текст в Go

Структуру превращают в текст командой из пакета encoding/json. Результат имеет тип среза байт, а рядом возвращают ошибку: ее проверяют до того, как байты отправят в файл или по сети.

Для вывода на экран срез байт часто переводят в строку. Так видно кавычки и скобки так же, как в файле.

Соберем пользователя с именем и возрастом:

package main import ( "encoding/json" "fmt" ) type User struct { Name string `json:"name"` Age int `json:"age"` } func main() { u := User{Name: "ann", Age: 20} data, err := json.Marshal(u) if err != nil { fmt.Println("error") return } fmt.Println(string(data)) }

На экране {"name":"ann","age":20}. При сбое в data ничего полезного не кладут, а ветку с печатью пропускают.

Тот же прием работает для карты, если ключи имеют тип строки:

package main import ( "encoding/json" "fmt" ) func main() { m := map[string]int{"a": 1, "b": 2} data, err := json.Marshal(m) if err != nil { fmt.Println("error") return } fmt.Println(string(data)) }

Дана структура:

type Point struct { X int `json:"x"` Y int `json:"y"` }

Соберите текст для точки с координатами 3 и 4 и выведите его.

Дана структура:

type Flag struct { On bool `json:"on"` }

Соберите текст для значения с полем On равным true и выведите результат.

Дана структура:

type Empty struct{}

Соберите текст для нулевого значения типа и скажите, что окажется на экране.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить