go 基础语法
Map
构造:
ages := make(map[string]int) // key is string, value is int
用map字面值的语法创建map,同时还可以指定一些最初的key/value:
ages := map[string]int {
"alice": 31,
"Jorge": 32,
}
使用内置的delete函数可以删除元素:
delete(ages, "alice")
map中的元素并不是一个变量,因此我们不能对map的元素进行取址操作
&ages["alice] // wrong
Go语言中并没有提供一个set类型,可以用map实现类似set的功能
JSON
type Movie struct {
Name string
Year int 'json: "released"'
}
var movies = []Movie {
{Title: "A", Year: 1999},
{Title: "B", Year: 2000},
}
将一个Go语言中类似movies的结构体slice转为JSON的过程叫编组(marshaling)。编组通过调用json.Marshal函数完成:
data, err := json.MarshalIndent(movies, "", " ")
if err != nil {
log.Fatalf("JSON Marshal failed: %s", err)
}
fmt.Printf("%s\n", data)
输出:
[ { "Name": "A", "released": 1999 }, { "Name": "B", "released": 2000 }]