//变量声明
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)
}