教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 go语言函数传递问题(map、切片、接口、chan)

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

发布时间:2021-12-02   编辑:jiaochengji.com
教程集为您提供go语言函数传递问题(map、切片、接口、chan)等资源,欢迎您收藏本站,我们将为您提供最新的go语言函数传递问题(map、切片、接口、chan)资源

一句话总结: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语言函数传递问题(map、切片、接口、chan)”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
go语言函数传递问题(map、切片、接口、chan)
276-go语言golang面试题知识点
Golang channel 使用指南
Golang基础--常见坑
基于类型系统的面向对象编程语言Go
go语言并发编程
go语言语法自我总结
2018年最全Go语言教程零基础入门到进阶实战视频
想系统学习GO语言(Golang
Golang精编面试题 -- 选择题

[关闭]
~ ~