iT邦幫忙

2024 iThome 鐵人賽

DAY 27
1
自我挑戰組

Golang基礎學習與實踐應用系列 第 27

Day 27 指標與函式

  • 分享至 

  • xImage
  •  

指標的應用最常見是在函式之間的傳遞,把指標傳入函式,可以這樣寫:

func 函式名稱(指標變數 *資料型態) {
函式內部程式碼
}

func address(ptr *int){
}

指標作為函數參數:
透過指標,將一個變數的地址傳遞給函數時,函數就可以直接操作這個變數,修改原始變數的值,使得函數能夠更靈活地處理資料,提高程式效率。
https://ithelp.ithome.com.tw/upload/images/20241006/20169233raaKsB9a9H.png
https://ithelp.ithome.com.tw/upload/images/20241006/20169233LTEn4U7jyE.png

(1)第七行
var ptr *int = &i
宣告了一個指向整數的指標變數 ptr,並將變數 i 的記憶體地址賦值給 ptr。
(2)第九行
address(&i)
呼叫 address 函式,將變數 i 的記憶體地址作為參數傳入。
(3)第十行
address(ptr)
再次呼叫 address 函式,這次傳入的是指標變數 ptr,也就是變數 i 的記憶體地址。
(4)第十二行
定義 address 函式用來接收指向整數的指標作為參數。

2.透過指標修改變數值:寫出一個函數,當函式被呼叫時,傳入函式的變數值會被加10,在主程式中印出原來的值以及加10後的值,說明其中用到了哪些指標的概念。
https://ithelp.ithome.com.tw/upload/images/20241006/20169233kkrZHQIxHF.png
https://ithelp.ithome.com.tw/upload/images/20241006/20169233yT9ye5t2Yk.png
(1)第八行
var i *int = &a
宣告了一個指向整數的指標變數 i。&a取變數 a 的記憶體地址,並將這個地址賦值給指標變數 i。
(1)第十九行
定義 add 的函數,接收一個指向整數的指標作為參數。

下一篇預告
一起看看常見的語法錯誤和語意錯誤吧!


上一篇
Day 26 Go 指標與記憶體管理
下一篇
Day 28 錯誤處理
系列文
Golang基礎學習與實踐應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言