mirror of
https://gitee.com/shikong-sk/golang-study
synced 2025-02-22 23:12:15 +08:00
docs: Map 键值对
This commit is contained in:
parent
163ffa5fa9
commit
3e4bc51775
33
base/map/main.go
Normal file
33
base/map/main.go
Normal file
@ -0,0 +1,33 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
// map 为引用类型 必须 初始化后 才能使用
|
||||
// map[键类型]值类型
|
||||
m1 := make(map[string]string, 5)
|
||||
|
||||
m1["name"] = "shikong"
|
||||
m1["age"] = "22"
|
||||
|
||||
fmt.Printf("m1 => %T %+v\n", m1, m1)
|
||||
|
||||
// 第一个变量接收 对应key 的 value值
|
||||
// 第二个变量接收 一个布尔值 若 key存在 则为 true 否则为 false
|
||||
val, ok := m1["test"]
|
||||
fmt.Printf("val: %#v ok: %v\n", val, ok)
|
||||
|
||||
fmt.Println("=========================================================")
|
||||
|
||||
// map 的 遍历
|
||||
for k, v := range m1 {
|
||||
fmt.Printf("k: %s v: %s\n", k, v)
|
||||
}
|
||||
|
||||
fmt.Println("=========================================================")
|
||||
|
||||
// 删除
|
||||
// delete 按照指定的键将 元素 从 map 中删除 若 map 为 nil 或 无此元素, delete不进行操作
|
||||
delete(m1, "name")
|
||||
fmt.Printf("m1 => %T %+v\n", m1, m1)
|
||||
}
|
25
base/map/slice/main.go
Normal file
25
base/map/slice/main.go
Normal file
@ -0,0 +1,25 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
// 元素 类型为 map 的 slice
|
||||
// 此处 仅 初始化了 切片 未初始化 map
|
||||
var s1 = make([]map[string]string, 5, 10)
|
||||
fmt.Printf("s1 => %T %+v\n", s1, s1)
|
||||
|
||||
// 需 初始化 map
|
||||
s1[0] = make(map[string]string, 1)
|
||||
// 再 对 map 进行操作
|
||||
s1[0]["name"] = "shikong"
|
||||
fmt.Printf("s1 => %T %+v\n", s1, s1)
|
||||
|
||||
fmt.Println("=========================================================")
|
||||
|
||||
// 值为 slice 的 map
|
||||
var m1 = make(map[string][]string, 5)
|
||||
fmt.Printf("m1 => %T %+v\n", m1, m1)
|
||||
|
||||
m1["asia"] = []string{"China", "China/HongKong", "China/Macao", "China/Taiwan", "Japan"}
|
||||
fmt.Printf("m1 => %T %+v\n", m1, m1)
|
||||
}
|
Loading…
Reference in New Issue
Block a user