Go开发之路 -- 流程控制

本文通过几个示例程序介绍了Go语言的基本控制结构,包括条件语句if-else、switch-case,循环语句for,以及流程控制关键字break和continue的使用方法。

1. if else

if 条件 {

} else {    // else必须写在这里

}
// 写一个程序, 从终端读取输入, 并转成整数. 如果转成整数出错,
// 则输出'can not convert to int', 并返回.否则输出该整数

package main

import (
    "fmt"
    "strconv"
)

func main() {
    var s string
    fmt.Scanf("%s", &s)
    res, err := strconv.Atoi(s)
    if err != nil {
        fmt.Println("can not convert to int.err: ", err)
        return
    }
    fmt.Println(res)

}
练习 10

 

2. swith case

swith var {
    case var1:

    case var2:

    case var3:

    default: 

}
// 猜数字, 写一个程序,随机生成一个0 到100 的整数n,
// 然后用户在终端输入数字,如果和n 相等,则提示用户猜对了
// 如果不相等,则提示用户,大于还是小于n

package main

import (
    "fmt"
    "math/rand"
)

func main(){
    n := rand.Intn(100)
    flag := true
    for flag {
        var number int
        fmt.Scanf("%d\n", &number)
        switch {
        case number == n:
            fmt.Println("猜对了.")
            flag = false
        case number > n:
            fmt.Println("大了.")
        case number < n:
            fmt.Println("小了.")
        }

    }
}
练习11

 

3. for 语句

/*
写一个程序, 在终端打印如下图形:
A
AA
AAA
AAAA
AAAAA
*/

package main

import (
    "fmt"
    "strings"
)

func main() {
    var s string = "A"
    for i := 1; i < 6; i++ {
        res := strings.Repeat(s, i)
        fmt.Println(res)
    }
}
练习 12

 

4. for range

 

5. break continue

package main

import "fmt"

func main(){
    str := "hello, 中国"
    for index, value := range str {
        fmt.Println(index, value)    // 打印的值是ASCII码
        fmt.Printf("index[%d], value[%c], len[%d]\n", index, value, len([]byte(string(value))))
    }

    for index, value := range str {
        if index > 2 {
            continue
        }
        if index > 4 {
            break
        }
        fmt.Println(index, value)
    }
}

 

6. goto和label语句

package main

func main() {
    i := 0
    HERE:
        print(i)
        i++
        if i == 5 {
            return
        }
        goto HERE
}

 

转载于:https://www.cnblogs.com/BlameKidd/p/10632847.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值