package main import "fmt" func main() { /** 1.特點:(最大特點)不能運算,不同於c語言 在go語言中如果對指針進行運算會報錯: nvalid operation:p++(non-numeric type *int) 2. 聲明指針,*T是指針變量的類型,它指向T類型的值。。 var 指針變量名 *指針類型 var ip * int //指向整型的指針 var fp * float32//指向浮點型的指針 2、 如何使用指針: 定義指針變量; 爲指針變量賦值; 訪問指針變量中指向地址的值 獲取指針的值:在指針類型的變量前加上 *號(前綴)來獲取指針所指向的內容。 獲取一個指針意味着訪問指針指向的變量的值。語法是:*a 特別注意:當 * 後面跟數據類型,代表的是指針指向的數據的類型; 如 * int 代表指向整型的指針 當 * 後面跟的是個變量,則意味着訪問指針指向的變量的值。語法是 *a */ i := 124 var ip *int ip = &i fmt.Printf("%T \t %v \n",i , i) //int 124 正確 fmt.Printf("%T \t %v \n", ip , ip)// *int 地址 正確 fmt.Printf("%T \t %v \n", &i , &i)//int 124 答案:*int 0xc042050080 fmt.Printf("%T \t %v \n",&ip ,&ip)//124 124 答案:**int 0xc042070018 //最後注意這種寫法 fmt.Printf("%T \t %v \n",*&i ,*&i)//*int 124 正確 &i 其實就是ip fmt.Printf("%T \t %v \n", *(&ip) , *(&ip))//*int 地址 //結論:總而言之: *變量 一定指向值 ,&變量 一定指向地址。 }
go語言編程之指針
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.