[随笔][Golang][nil]

╄→гoц情女王★ 提交于 2019-12-01 22:19:54
  • nil 是不能比较的

  • 不同类型的nil的address是一样的

  • 不同类型的nil是不能比较的

  • nil 是map, slice, pointer, channel, func, interface的零值

  • immutable type 不是引用类型,int , string, bool都不是引用类型

  • 在 immutable type 中不存在两个变量内存地址是一样的

  • map可以在函数内部改变,但是map不是引用类型

    go中函数传递参数是按值传递的,在函数内部无法改变函数外部的值,但是map可以。
    map不是引用,但是作为参数传递的时候可以在函数内部改变函数实参的值???可能传递的是map的指针???

  • channel 也是按值传递

  • map 不是应用类型,为什么可以在函数内部改变???

    hashmap的底层是一个指向hmap的指针,由于传递的是指针的拷贝,指针指向底层hmap并没有改变,所以可以在函数内部改变map

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!