跟我一起学习GO语言005

接上一节继续学习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)

    }

请开始你的表演,践行,践行,再践行。未完待续。。。

你可能感兴趣的:(跟我一起学习GO语言005)