這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。//變數聲明
i := 10; //直接聲明並賦值
j := 100;
i,j=j,i //變換i,j的值
fmt.Printf("i=%d j=%d\n",i,j)//格式化輸了
fmt.Println("i=",i);//不能使用%d等
var a int
var b [10]int
var c []int //數組切片,相當於vector可變數組
var s string
var p *int //指標
var m map[string]int //key為string類型,value為int類型
var fun func(a int) int //函數
var st struct ( //結構體
f int
str string
)
//或者也可以這樣一起聲明
var (
v1 int
s1 string
)
//匿名變數
func GetName() (firstName,lastName,nickName string){
return "May","chan","Chibi Maruko"
}
_,lastName,_ := GetName() //即只想取lastName的值,其他不想要,即可用_代表匿名變數,即可屏蔽掉了!
//常量聲明
const Pi float64 = 3.1415926
const zeor = 0.0
const (
size int64 = 1024
eof = -1
)
const aa,bb float64 = 1.0,2.0
const a,b,c = 1,2,"foo" //一起聲明與賦值
//預定義常量:true false iota
//iota比較特殊,在const出現時被重設為0,然後在下一個const出現之前,每出現一次iota,其所代表的數字會自動增1
//例如:
const(
Sunday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
numberOfDays //這個常量沒有匯出
)
兩種字串遍曆方式
str := "Hello,世界"
n := len(str)
for i :=0;i<n;i++{
ch := str[i];
fmt.Println(i,ch)
}
fmt.Println("")
for i,ch := range str{ //range具有兩個傳回值,第一個傳回值是元素的數組下標,第二個傳回值是元素的值
fmt.Println(i,ch)
}