接上一节继续学习Go语言,存储和组织数据的方式
首先我们来看看列表增删方法
初始化列表:变量名:=list.New()
列表插入元素
//列表插入元素
ll := list.New()
ll.PushBack("fist")
ll.PushFront(88)
从列表中删除元素
//列表插入元素
ll := list.New()
//从尾部添加
ll.PushBack("long")
//从头部添加
ll.PushFront(88)
//尾部添加后保存元素句柄
element := ll.PushBack("fist")
//在fist之后添加high
ll.InsertAfter("high", element)
//在fist之前添加noon
ll.InsertBefore("noon", element)
//删除element对应的元素
ll.Remove(element)
遍历列表,访问列表的每一个元素
//遍历列表,访问列表的每一个元素
fori := ll.Front(); i != nil; i = i.Next() {
fmt.Println(i.Value)
}
输出:88 long noon high
接下来我们来看流程控制
首先我们来看判断语句(if)
var ageint = 35
if age < 30 {
fmt.Println("孩提-幼儿时期,总角-童年时期,及笄-女子15岁,弱冠-男子20岁,花信-女子24岁")
}elseif age > 30 && age< 40 {
fmt.Println("而立")
}else {
fmt.Println("不惑...")
}
有一种特殊的写法,可以在if表达式之前执行语句,执行后根据返回值判断
func GetNum() int {
return 22
}
if GetNum() < 30 {
fmt.Println("你还没有到30岁呢?")
}else if GetNum() > 30 {
fmt.Println("你这是花骨朵的年龄,嘿嘿")
}
前面我们老是用的循环遍历值,我们还是来看看,for中的初始化
//初始化循环(for)
step := 2
for ; step > 0; step-- {
fmt.Println(step)
}
//控制循环的开关(break)
var long int
for ; ; long++ {
if long > 10 {
break
}
fmt.Println(long)
}
输出:01 2 3 4 5 6 7 8 9 10
我们来看一个九九乘法表,这个也是很多基础面试题之一
//九九乘法表
forx := 1; x <= 9; x++ {
fory := 1; y <= x; y++{
fmt.Printf(" %d*%d=%d", y, x, y*x)
}
fmt.Println()
}
输出:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
接下来我们看看拥有多个分支的判断(switch)
//基本写法
var yy="hello"
switch a{
case"hello":
fmt.Println(1)
case"word":
fmt.Println(2)
default:
fmt.Println(0)
}
分支表达
//一分多支
var ddd = "num"
switch ddd {
case"num", "day":
fmt.Println("都是我")
}
//分支表达式
var zz int = 11
switch {
case zz > 10 && zz< 20:
fmt.Println("分支表达式")
}
下面我们看跳转到制定标签(goto)
for x := 0; x < 10; x++ {
for y := 0; y < 10; y++ {
//当y等于2时跳转标签
if y == 2 {
goto breakHere
}
}
}
//看看能执行到我吗
fmt.Println("看看能执行到我吗")
breakHere:
{
fmt.Println("跳转到我这来了")
}
我们看看跳出循环标签(continue),结束循环(break)
for i := 1; i < 18; i++ {
//i等于5的时候跳出循环
if i == 5 {
continue
}
//结束循环用break
if i == 8 {
break
}
fmt.Println(i)
}
请开始你的表演,践行,践行,再践行。未完待续。。。