go map slice array channel 传参
2017-03-23 16:10
429 查看
package main import ( "fmt" //"net/http" ) func modifyMap(s map[string]interface{}) { s["a"]="a" } func modifyArray(a [5]int) { a[2]=100 } func modifySlice(b []int) { b[0]=0 } func modifyChannels(ch chan int) { ch<-2; } func main() { s := make(map[string]interface{}) s["a"]="b" fmt.Println(s); modifyMap(s); fmt.Println(s); a := [5]int{1,2,3,4,5} fmt.Println(a); modifyArray(a) fmt.Println(a); b := []int{1,2,3,4,5} fmt.Println(b); modifySlice(b); fmt.Println(b); ch :=make(chan int,10) fmt.Println(len(ch)); modifyChannels(ch) fmt.Println(len(ch)); }
test.go
map[a:b] map[a:a] [1 2 3 4 5] [1 2 3 4 5] [1 2 3 4 5] [0 2 3 4 5] 0 1
由结果可知除了数组是传值,map、slice、chan都是传引用
相关文章推荐
- Go语言中的Array、Slice、Map和Set使用详解
- Go语言中的 Array, Slice和 Map
- Go语言 array,slice,map
- Go语言 数组(Array), 分片(Slice), Map 以及 Set
- Go语言中的 Array, Slice和 Map
- Go语言学习笔记(四) [array、slice、map]
- go - 复合类型 array, slice, map
- Go语言学习笔记(四) [array、slice、map]
- Go 语言中的 Array,Slice,Map 和 Set
- go 数组(array)、切片(slice)、map、结构体(struct)
- Go 数据类型(续)— array、slice、map
- Go语言中的Array、Slice、Map和Set使用详解
- Go语言学习笔记 -- array、slice和map
- go语言的array,slice和map
- go - 复合类型 array, slice, map
- go基础——03(array、slice、map)
- GO語言基礎教程:array,slice,map
- Go语言学习笔记(四) [array、slice、map]
- Go语言学习三:Go基础(iota,array,slice,map,make,new)
- Go 语言中的 Array,Slice,Map 和 Set