1.变量的几种命名方式
// var 表示常量
var a = 1
var b = "initial"//!!!注意go里面的字符串是要用双引号""或者反引号``,不能用单引号
var c int = 1
d := 1 //这种方式舍弃了var,不过需要使用 :=
// const 表示变量
const e = 1
2.if-else
//这里没什么好说的,注意格式就行
if a := 10; a> 10{
fmt.Println("大于10")
}else if a <10{
fmt.Println("小于10")
}else{
fmt.Println("等于10")
}
3.唯一的循环for
//下面是一个简单的循环,如果不加break就是一个死循环
for {
fmt.Println(`nihao`)
break
}
//条件循环
for i := 7;i < 9; i++{
fmt.Println(i)
}
//从1到50所有的偶数
for i := 1;i<=50;i++{
if i%2==0{
fmt.Println(i)
}else{
continue
}
}
4.数组
func main() {
var a [5]int
a[3] = 100
fmt.Println(a)
}
[0 0 0 100 0] 如果定义数组不指定元素,会默认为0
var toD [2][3]int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
toD[i][j] = i + j
}
}
fmt.Println(toD)
[[0 1 2] [1 2 3]] 定义数组时,需要声明类型,否则报错
5.切片slice
slice是对底层数组的一种引用,用法也比较灵活,可以参考Python中的list; 由三个组件组成:首位置的指针,长度和容量
1.创建
// 使用字面量创建slice
s := []int{1, 2, 3, 4, 5}
// 使用make函数创建指定长度为5、容量为10的slice
s := make([]int, 5, 10)
2.获取slice的长度和容量
length := len(s)
capacity := cap(s)
3.复制
newSlice := make([]int, len(s))
copy(newSlice, s)
4.添加元素到末尾
s = append(s, 6, 7, 8)
在这里简单区分一下长度和容量:
- 长度指的就是这个切片实际的长度
- 容量指的是切片关联的底层数组的实际大小 举个例子,如果s的长度为3,底层数组大小是5,这时候添加两个元素都没问题; 但是如果继续添加,那么原来数组的容量就不够了,需要重新指定一个够大的数组