文章目錄
- 一、指針類型
- 二、值類型和引用類型
- 三、標(biāo)識(shí)符的命名規(guī)范
一、指針類型
package mainimport "fmt"func main() {saylocation()}func saylocation() {var i int = 10fmt.Println("地址", &i)var ptr *int = &ii = 5fmt.Println(ptr, *ptr, &i)}
二、值類型和引用類型
1、值類型
變量直接存儲(chǔ)值,內(nèi)存通常在棧中分配
基本數(shù)據(jù)類型int系列、float系列、bool、string、數(shù)組和結(jié)構(gòu)體struct
2、引用類型
變量存儲(chǔ)的是一個(gè)地址,這個(gè)地址對(duì)應(yīng)的空間才真正存儲(chǔ)數(shù)據(jù)的值,內(nèi)存通常在堆上分配,當(dāng)沒(méi)有任何變量引用這個(gè)地址時(shí),該地址對(duì)應(yīng)的數(shù)據(jù)空間就成為一個(gè)垃圾
由GC來(lái)回收
指針、slice切片、map、管道chan、interface引用類型
三、標(biāo)識(shí)符的命名規(guī)范
Golang對(duì)各種變量、方法、函數(shù)等命名時(shí)使用的字符序列就是標(biāo)識(shí)符
凡是可以自己取名的地方都交標(biāo)識(shí)符標(biāo)識(shí)符的命名規(guī)則
1、由16個(gè)英文字母大小寫(xiě)、0-9、_組成
2、不可以數(shù)字開(kāi)頭
3、Golang中嚴(yán)格區(qū)分大小寫(xiě)
4、標(biāo)識(shí)符不可以包含空格
5、下劃線本身在Go中就是個(gè)特殊的標(biāo)識(shí)符,稱為空標(biāo)識(shí)符,可以代表任何其他的標(biāo)識(shí)符,但是他對(duì)應(yīng)的值會(huì)被忽略,只可以作為一個(gè)占位符
6、不能以系統(tǒng)保留關(guān)鍵字作為標(biāo)識(shí)符保留關(guān)鍵字:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var命名的注意事項(xiàng)
1、包名
保持package的名字和目錄一致,盡量采取有意義的包名,簡(jiǎn)短有意義
2、變量名、函數(shù)名、常量名
駝峰法
3、如果變量名、函數(shù)名、常量名首字母大寫(xiě),則可以被其他的包訪問(wèn);如果首字母小寫(xiě)則只能在本包內(nèi)訪問(wèn)
可以理解為
首字母大寫(xiě)是公有的
首字母小寫(xiě)是私有的
package mainimport ("Godemo1/model""fmt"
)func main() {saylocation()model.Sayhelo()
}func saylocation() {var i int = 10fmt.Println("地址", &i)var ptr *int = &ii = 5fmt.Println(ptr, *ptr, &i)}
package modelimport "fmt"func Sayhelo() {fmt.Println("hello")}