golang 指針類型* ,以及 &取變量內存地址


1.golang中,指針是一種類型,指向變量所在的內存單元(不是內存地址)。
申明: 在變量名前加上星號字符,比如 *age ,指向變量age所在的內存單元

2.& :獲取變量在計算機內存中的地址, &age,取出變量age所在內存地址,一般地址是十六進制。

3: 申明指針*age, 打印指針內存單元的值 **age.如下面 x *int , *x就是指針所對應的值。

package main

import (
"fmt"
"reflect"
)

func main(){
k:=40
fmt.Println(k)
fmt.Println(say("hello,world","lf"))
fmt.Println(reflect.TypeOf(k)) //檢查變量類型

fmt.Println(&k) // 獲取變量在計算機內存中的地址,可在變量名前面加上&字符。
// &k 引用的是變量k的值,值所在的內存地址
showMemoryAddress(&k) //返回的地址是相同的
}

func showMemoryAddress(x *int){ // *int參數類型位指向整數的指針,而不是整數
fmt.Println(*x) //本身就是指針,打印地址不需要 &這個符號,如果想使用指針指向的變量的值,而不是其內存地址,可在指針變量前面加上星號
return
}

func say(param,tt string) string{
return param+"--"+tt
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM