91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

甘泉县| 北辰区| 天峻县| 富蕴县| 云霄县| 商河县| 巴彦淖尔市| 乌鲁木齐市| 游戏| 南郑县| 巴东县| 五常市| 沁源县| 当雄县| 浦城县| 禄劝| 彭泽县| 盐源县| 藁城市| 宿松县| 大洼县| 桃源县| 景泰县| 上思县| 昆明市| 贡嘎县| 府谷县| 石嘴山市| 调兵山市| 大港区| 清原| 扎囊县| 墨竹工卡县| 格尔木市| 涪陵区| 小金县| 新化县| 泰安市| 平阴县| 三原县| 金溪县|