亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go語言中的值傳遞

發布時間:2020-06-17 18:21:36 來源:億速云 閱讀:138 作者:元一 欄目:編程語言

Go語言

Go(又稱Golang)是Google開發的一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言。

羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)于2007年9月開始設計Go,稍后Ian Lance Taylor、Russ Cox加入項目。Go是基于Inferno操作系統所開發的。Go于2009年11月正式宣布推出,成為開放源代碼項目,并在Linux及Mac OS X平臺上進行了實現,后來追加了Windows系統下的實現。在2016年,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言。

Go語言的參數只能是值傳遞

值傳遞是一個拷貝的過程

Go:值傳遞

func bbb(list [4]int){
   for i,_ := range list{
      list[i] = 0
   }
}
func main(){
   list := [4]int{1,2,3,4}
   bbb(list)
   fmt.Println(list )   //[1 2 3 4]
}

Javascript: 引用傳遞

let list = [1,2,3,4]
function  bbb(list){
    list.forEach((item,index)=>{
        list[index] = 0
    })
}
bbb(list)
console.log(list)   //[0,0,0,0]

但是Go語言可以通過指針來實現引用傳遞的作用

func bbb(p2 *[4]int){    //接受一個[4]int的指針
   for i,_ := range p2{
      p2[i] = 0
   }
}
func main(){
   list := [4]int{1,2,3,4}
   p := &list
   bbb(p)     //傳遞指針
   fmt.Println(list )   //[0 0 0 0]
}

既然說go語言的參數傳遞只能是值傳遞,所以這里實際上是把指針地址拷貝了一份,而兩個地址都指向了main函數的變量list的地址,所以才使list的值發生了改變

go語言中的值傳遞

以上就是go語言值傳遞介紹的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平遥县| 上蔡县| 梨树县| 旬阳县| 班玛县| 遂川县| 哈密市| 汝南县| 乐都县| 庄浪县| 无为县| 石屏县| 南宫市| 景德镇市| 哈巴河县| 金华市| 长岛县| 襄樊市| 会同县| 罗山县| 通山县| 光泽县| 青浦区| 双鸭山市| 桦川县| 普陀区| 昭苏县| 铁力市| 晋江市| 高雄县| 阳信县| 富锦市| 靖边县| 赣州市| 荔波县| 北安市| 大邑县| 裕民县| 宁波市| 鹤山市| 金阳县|