go语言编程初学
变量
变量是几乎所有编程语言中最基本的组成元素。变量相当于是对一块数据存储空间的命名,程序可以通过顶一个一个变量来申请一块数据存储空间,之后可以通过变量名来使用这块存储空间
变量声明
关键字var
var v1 int
var v2 string
var v3 [10]int //数组
var v4 []int //数组切片
var v5 struct {
f int
}
var v6 *int //指针
var v7 map[string]int //map,key为string类型, vlue 为int类型
var v8 func(a int) int
var (
v1 int
v2 string
)
变量初始化
var v1 int = 10
var v2 = 10
v3 := 10
go语法中变量的初始化和变量赋值是两个不同的概念,一下是声明一个变量之后再进行赋值的过程
var v10 int
v10 = 123
匿名变量
我们在使用编程中有时候会遇到一个函数返回多个值,但是我们只想要其中一个,实例:我们只想获得nickname
func Getname() (firstname, lastname, nickname string) {
return "may", "chan", "chibi maruko"
}
_, _, nickname := Getname() //此方式
常量 字面常量
常量是指编译期间就已知不可改变的值。常量可以是数值类型(包括整型、浮点型和复数类型)、布尔类型、字符串类型等
字面常量就是指程序中硬编码的常量,如:
-12
3.1415926535897 //浮点型的常量
3.2+12i // 复数类型的常量
true // 布尔类型的常量
" foo " //字符串常量
常量定义
通过const关键字
const Pi float64 = 3.1415926
const zero = 0.0 //无类型浮点常量
const (
size int64 = 1024
eof = -1 //无类型整型常量
)
const u, v float32 = 0, 3 //u = 0.0, v = 3.0 常量的多重赋值
const a, b, c = 3, 4, "foo"
// a = 3, b = 4, c = "foo" 无类型整型和字符串常量
预定义常量
go语言预定义了这些常量: true 、false和itoa
tota 被认为是一个可被编译器修改的常量,在每个const 关键词出现时被重置为0,然后在下一个次出现之前,每出现一次iota
其所代表的数字会自动增加1.
const ( //iota被重置为0
c0 = iota // c0 == 0
c1 = iota // c1 == 1
c2 = iota // c2 == 2
)
const (
a = 1 << iota //a == 1
b = 1 << iota //b == 2
c = 1 << iota //c == 4
)
const (
u = iota * 42 // u == 0
v float64 = iota * 42 // v == 42.0
w = iota * 42 // w == 84
)
const x = iota //x == 0
const y = iota // y == 0
const (
c0 = iota //c0 == 0
c1 // c1 == 1
c2 // c2 == 2
)
const (
a = 1 <<iota // a == 1
b // b == 2
c // c == 4
)