创建Map 【map是无序的】
map[key_type] value_type{
key1:value1
key2:value2
}如
map1 := map[string]string{
"a":"1",
"b":"2",
"c":"3",
"d":"4"
}
添加
map1["e"] = "5"
编辑
map1["a"] = "aa"
删除
delete(map1,)
用make创建map
map2 := make(map[string]string)//用make创建一个空map
验证指定的键值对是否存在于map中
map2 := make(map[string]int)//注意这里键的类型依然为字符串,但是值的类型不再是字符串,而是整数fmt.Println(map2 )
v,ok := map2 ["port"]//双赋值,变量v代表键对应的值,变量ok用来判断键"port"是否存在于map2 这个map中fmt.Println(v,ok)// 因为map2 为空map,因此v的值为0(整数的零值),ok为false,表示"port"这个键不存在map2 ["port"] = 48//向map2 里添加"port":48这个键值对
v,ok = map2 ["port"]//再次双赋值fmt.Println(v,ok)//此时v为48,ok为true,表示"port"这个键存在
如果不需要获取值 那么可以通过_ 屏蔽值
_,ok = map2["port"]
fmt.Println(ok)
创建结构体 【 结构体的元素可以用多种数据类型 数组,切片,map,都只能是同一种类型 】
type routerstruct {
Hostname string
IP_address string
Port int
CPU_utilization float64
Power_on bool
}
package main
import "fmt"
type routerstruct {
Hostname string
IP_address string
Port int
CPU_utilization float64
Power_on bool
}func main() {
router1 :=router{"R1","192.168.2.11",8,11.1,true}//将接结构体router"实例化"给变量router1
router2 :=router{"R2","192.168.2.12",8,22.2,false}//将接结构体router"实例化"给变量router2
fmt.Println(router1)
fmt.Println(router2)
fmt.Println("Router1的主机名:", router1.Hostname)
fmt.Println("Router1的IP地址:", router1.IP_address)
fmt.Println("Router2的端口数量:", router2.Port)
fmt.Println("Router2的CPU用量:", router2.CPU_utilization)
fmt.Println("Router1的电源是否开启:", router2.Power_on)
}
用new()将结构体赋值给变量
router1 := new(router)//使用new()将结构体router"实例化"给router1
fmt.Println(router1)//&{ 0 0 false}
router1.Hostname="R1"
router1.IP_address="192.168.2.11"
router1.Port=8
router1.CPU_utilization=11.1
router1.Power_on=true
fmt.Println(router1)// &{R1 192.168.2.11 8 11.1 true}
fmt.Println(*router1)//指针{R1 192.168.2.11 8 11.1 true}
网友评论