package mainimport"fmt"/* if bool表达式 {逻辑
}
*/funcmain(){//条件判断age :=22country :="中国"if age <18&& country =="中国"{fmt.Println("未成年人")}elseif age ==18{fmt.Println("刚好是成年人")}else{fmt.Println("成年人")}}
for循环
package mainimport"fmt"funcmain(){/*for循环for init; condition; post {逻辑}*/for i :=0; i <3; i++{fmt.Println(i)}//打印九九乘法表for i :=1; i <=9; i++{for j :=1; j <= i; j++{fmt.Printf("%d * %d = %d ", i, j, i*j)}fmt.Println()}//for range,主要是对字符串、数组、切片、map、channel的遍历/**for index, value := range 遍历的数据 {}1. 如果遍历的是字符串的话,key为字符串的索引,value字符串对应的缩影的字符的值的拷贝,如果不鞋key,返回的是索引2. 数组: key为数组的索引,value为索引对应的值的拷贝3. 切片: key为切片的索引,value为索引对应的值的拷贝4. map: key为map的key, value为key对应的值的拷贝5. channel: 无key, value为channel接收的数据*/name :="hello, go"for index, value :=range name {//fmt.Println(index, value)fmt.Printf("%d %c\r\n", index, value)}//不想打印index,可以使用匿名变量fmt.Println("----------------------------")for_, value :=range name {fmt.Printf("%c\r\n", value)}fmt.Println("----------------------------")for index :=range name {fmt.Printf("%c\r\n", name[index])}}
goto
package mainimport"fmt"/*
*
goto语句可以让我的代码跳到指定的代码块中运行
很少用
*/funcmain(){for i :=0; i <5; i++{for j :=0; j <4; j++{if j ==2{goto over}fmt.Println(i, j)}}over:fmt.Println("over")}
package mainimport("container/list""fmt")funcmain(){var mylist = list.List{}mylist.PushBack("go")mylist.PushBack("grpc")mylist.PushBack("gin")fmt.Println(mylist)//遍历打印值,从头遍历for i := mylist.Front(); i !=nil; i = i.Next(){fmt.Println(i.Value)}fmt.Println("----------反向遍历----------")//反向遍历for i := mylist.Back(); i !=nil; i = i.Prev(){fmt.Println(i.Value)}fmt.Println("----------初始化list的方法----------")newList := list.New()newList.PushFront("mysql")for i := newList.Front(); i !=nil; i = i.Next(){fmt.Println(i.Value)}//插入指定元素之前或者之后fmt.Println("----------插入指定元素之前或者之后----------")i := newList.Front()for; i !=nil; i = i.Next(){if i.Value.(string)=="mysql"{break}}newList.InsertBefore("oracle", i)for i := newList.Front(); i !=nil; i = i.Next(){fmt.Println(i.Value)}//list删除fmt.Println("----------newList删除----------")newList.Remove(i)for i := newList.Front(); i !=nil; i = i.Next(){fmt.Println(i.Value)}}