在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
切片 var slice []int b) 通过make来创建切片 var slice = make([]int, 10) c) 通过 := 语法来定义切片 slice := []int{} slice := make([]int, 10) d) 通过操作数组来创建切片 var array = [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} var slice []int = array[2:8] e) 通过两个冒号创建切片,slice[x:y:z]切片实体[x:y],切片长度len = y-x,切片容量cap = z-x slice := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} slice := slice[2:6:8] 2、切片操作 var a = []int{1, 2, 3} b := append(a, 4) b) 使用copy() 函数 copy 在两个 slice 间复制数据,复制长度以 len 小的为准 var a = []int{1, 2, 3, 4, 5} b := []int{100, 200} copy(a, b)
var m map[int]string b) 通过make来创建Map var m1 map[int]string = make(map[int]string, 10) var m2 = make(map[int]string, 10) c) 通过 := 语法来定义Map m1 := map[int]string{} m2 := make(map[int]string, 10)
m := map[string]string{"key0": "Linux", "key1": "Python"} a)增 m["key2"] = "oldboy" b)查 value, ok := m["key0"] c)删 delete(m, "key1") d)改 m["key1"] = "Golang" 注意:Map可以使用len()函数,但不能使用cap()函数 var ch chan int var ch chan string var ch chan map[int]string b) 使用make定义,无缓冲channel var ch1 chan int = make(chan int) var ch2 = make(chan int) ch3 := make(chan int) c) 使用make定义,有缓冲channel var ch1 chan int = make(chan int, 10) var ch2 = make(chan int, 10) ch3 := make(chan int, 10) d) 只读channel(chan在<-之后) var ch1 <-chan int var ch2 <-chan int = make(<-chan int, 10) var ch3 = make(<-chan int, 10) ch4 := make(<-chan int, 10) e) 只写channel(chan在<-之前) var ch1 chan<- int var ch2 chan<- int = make(chan<- int, 10) var ch3 = make(chan<- int, 10) ch4 := make(chan<- int, 10) 注意:普通 channel 可以隐式转为只读channel或只写channel;只读channel或只写channel不能转为普通 channel。 ch := make(chan int, 1) ch <- 99 // 写入chan value, ok := <-ch // 读取chan b) channel 关闭操作 close(ch)
注意:向已经关闭的 channel 发送数据会引发 panic 错误
|
请发表评论