


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第Golang中的參數(shù)傳遞示例詳解前言
本文主要給大家介紹了關于Golang參數(shù)傳遞的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
關于參數(shù)傳遞,Golang文檔中有這么一句:
aftertheyareevaluated,theparametersofthecallarepassedbyvaluetothe
functionandthecalledfunctionbeginsexecution.
函數(shù)調用參數(shù)均為值傳遞,不是指針傳遞或引用傳遞。經測試引申出來,當參數(shù)變量為指針或隱式指針類型,參數(shù)傳遞方式也是傳值(指針本身的copy)
Slice是最常用的數(shù)據(jù)結構之一,下面以Slice為例,解釋Golang的參數(shù)傳遞機制。
Slice數(shù)據(jù)結構如下:
示例代碼:
packagemain
import"fmt"
funcmain(){
slice:=make([]int,3,5)
fmt.Println("before:",slice)
changeSliceMember(slice)
fmt.Println("after:",slice)
funcchangeSliceMember(slice[]int){
iflen(slice)1{
slice[0]=9
}
函數(shù)執(zhí)行結果為:
befor:[000]
after:[900]
解釋:
從數(shù)據(jù)結構圖中可看出,Slice可以理解成結構體類型,包含底層數(shù)組首元素地址、數(shù)組len、容量三個字段,slice對象在參數(shù)傳值過程中,把三個字段的值傳遞過去了,實際上changeSliceMember函數(shù)內slice在內存中的地址和main中的slice內存地址不一樣,只是字段值是一樣的,而第一個字段Pointer的值就是底層數(shù)組首元素地址,因此可以直接改變元素內容
可以與下面代碼做對比,理解:
packagemain
funcmain(){
value:=new(int)
modifyFunc(value)
println("main:",value)
funcmodifyFunc(value*int){
value=nil
println("modifyFunc:",value)
}
執(zhí)行結果:
modifyFunc:0x0
main:0xc820049f30
可以看出,即使傳值為指針,仍未改變變量value在main中的值,因為modifyFunc中value的值為指針,和main中的value值一樣,但是倆對象本身是兩個對象,讀者可以細細體會
總結
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大型商超車位租賃協(xié)議
- 預售商品購銷合同
- 汽車設計材料選型與應用規(guī)范
- 離職薪資清算協(xié)議
- 電子拍賣流程協(xié)議
- 三年級法治教育啟蒙
- 我的人際圈課件
- 2025年幼兒園多元智能發(fā)展計劃
- 三年級科技創(chuàng)新項目計劃
- 小學班主任疫情期間家長支持計劃
- 2024年江蘇省生態(tài)環(huán)境監(jiān)測專業(yè)技術人員大比武理論試題庫(含答案)
- 07FD02 防空地下室電氣設備安裝
- 工程造價咨詢的協(xié)調配合及服務措施
- Module 10 Unit 1 We are going to different school(教案)外研版(三起)英語六年級下冊
- 2022-2023學年廣東省深圳市高二(下)期末數(shù)學試卷含答案
- 脊柱側彎手術配合
- 市場調查與預測題庫+答案
- JT-T-398-2013港口輸油臂行業(yè)標準
- 湖南省建設工程竣工驗收備案表
- 汽車4s店安全生產管理制度范文(20篇)
- 村委會地震演練方案及流程
評論
0/150
提交評論