當(dāng)標(biāo)識符(包括常量肩袍、變量焦辅、類型博杖、函數(shù)名、結(jié)構(gòu)字段等等)以一個大寫字母開頭筷登,如:Group1剃根,那么使用這種形式的標(biāo)識符的對象就可以被外部包的代碼所使用(客戶端程序需要先導(dǎo)入這個包),這被稱為導(dǎo)出(像面向?qū)ο笳Z言中的 public)前方;標(biāo)識符如果以小寫字母開頭狈醉,則對包外是不可見的廉油,但是他們在整個包的內(nèi)部是可見并且可用的(像面向?qū)ο笳Z言中的 protected )。
聲明變量的一般形式是使用 var 關(guān)鍵字,常量聲明用const
var identifier type
const identifier [type] = value
package main
var x, y int
var ( // 這種因式分解關(guān)鍵字的寫法一般用于聲明全局變量
a int
b bool
)
var c, d int = 1, 2
var e, f = 123, "hello"
//這種不帶聲明格式的只能在函數(shù)體中出現(xiàn)
//g, h := 123, "hello"
func main(){
g, h := 123, "hello"
println(x, y, a, b, c, d, e, f, g, h)
}
-
_
是一個只寫變量苗傅,你不能得到它的值
_, b = 5, 7
- 可以并行賦值
a, b, c = 5, 7, "abc"
- 神奇的iota
iota抒线,特殊常量,可以認(rèn)為是一個可以被編譯器修改的常量金吗。
package main
import "fmt"
func main() {
const (
a = iota //0
b //1
c //2
d = "ha" //獨(dú)立值十兢,iota += 1
e //"ha" iota += 1
f = 100 //iota +=1
g //100 iota +=1
h = iota //7,恢復(fù)計(jì)數(shù)
i //8
)
fmt.Println(a,b,c,d,e,f,g,h,i)
}
-
注意
^
是按位異或 - Go支持指針
- & 返回變量存儲地址
- 指針變量