Home | 简体中文 | 繁体中文 | 杂文 | 打赏(Donations) | 云栖社区 | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Github | Search | About

1.6. 定义map类型

	
1.make

var a = make(map[string]int)

a["one"] = 1
a["two"] = 2


b :=map[string]int{
    "a" : 1,
    "b" : 2,

删除一个key

delete(b,"a")

注意 b[“a”] 不是一个变量,不能进行取地址操作

循环和数组一样

for k,v :=range b{
    ...
}	
	
	

package main
 
import(
    "fmt"
)
 
func main() {
    m := map[string]string{"key1":"val1"}
    fmt.Println(m)
    m["key2"] = "val2"
    fmt.Println(m)
    p := m["key1"]
    fmt.Println(p)
    delete(m, "key1")
    fmt.Println(m)
 
}

	

type Test struct {
	Attr map[string]string	`json:"test"`
}
func (t *Test) put(key string, value string){

	t.Attr[key] = value
}

func main(){
	
	t := Test{Attr: map[string]string{"key1":"val1","key2":"val2"}}
	t.put("sss","ddd")

	testJson, _ := json.Marshal(t)
	fmt.Println(string(testJson))

}