您的位置:首页 > 编程语言 > Go语言

go语言函数传递问题(map、切片、接口、chan)

2017-11-26 23:00 411 查看
一句话总结:map、切片、接口、函数类型、chan都是引用类型,作为函数参数传递不会复制一个副本。

package main


import (

"fmt"

)


func change(a int) {

a = 10

}

func changeMap(m map[int]string) {

_, ok := m[1]

if ok {

m[1] = "jack"

}

}

func changeSlice(s []int) {

s[0] = 10

}


func changeChan(ch chan int) {

ch <- 99

}


func main() {

key := 10

change(key)

fmt.Println(key)

m := make(map[int]string)

m[1] = "may"

changeMap(m)

fmt.Println(m)

s := []int{1, 2, 3}

changeSlice(s)

fmt.Println(s)


ch := make(chan int, 3)

changeChan(ch)

fmt.Println(<-ch)

close(ch)

}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go