Go語言
我們提供的服務有:成都做網(wǎng)站、網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、澄城ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的澄城網(wǎng)站制作公司
Go(又稱Golang)是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言。
羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)于2007年9月開始設計Go,稍后Ian Lance Taylor、Russ Cox加入項目。Go是基于Inferno操作系統(tǒng)所開發(fā)的。Go于2009年11月正式宣布推出,成為開放源代碼項目,并在Linux及Mac OS X平臺上進行了實現(xiàn),后來追加了Windows系統(tǒng)下的實現(xiàn)。在2016年,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言。
Go語言的參數(shù)只能是值傳遞
值傳遞是一個拷貝的過程
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語言可以通過指針來實現(xiàn)引用傳遞的作用
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語言的參數(shù)傳遞只能是值傳遞,所以這里實際上是把指針地址拷貝了一份,而兩個地址都指向了main函數(shù)的變量list的地址,所以才使list的值發(fā)生了改變
以上就是go語言值傳遞介紹的詳細內(nèi)容,更多請關注創(chuàng)新互聯(lián)其它相關文章!
網(wǎng)站標題:go語言中的值傳遞
文章源于:http://aaarwkj.com/article32/gdicpc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、標簽優(yōu)化、網(wǎng)站設計、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站制作、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)