关闭

Go-控制结构

标签: go
155人阅读 评论(0) 收藏 举报
分类:

for

  • 在Go中,只有for这一种循环结构,但可以实现出while、do-while的效果。
  • for有几种不同的使用方法,分别可以对应到传统的for,while,do-while。——for的这种灵活性则体现了Go的脚本型特性。
  • <>这本书讲得相对简单一些,复杂的用法可以参考<

if

if语法和其他语言一样,参考上面的foo()函数。

switch

switch语法结构无特殊之处。

不过值得一提的是,switch的参数可以是任意的表达式或任意数据类型,这个参数拿来和case中的进行比较。——自然地,可以猜到Go支持字符串的比较,比如:

x:="first"
y:="second"
if (x==y) {
    // do something
}

下面的例子提前用到了数组的一点语法。

package main
import "fmt" // Printf()

/*
D:\examples>go run helloworld.go
0 Unknown
1 one
2 two
3 three
4 four
5 five
6 Unknown
Jerry 0
Tom 1
Jerry & Tom 2

D:\examples>
*/
func main() {
    for i := 0; i <= 6; i++ {
        fmt.Println(i, foo(i))
    }

    values := [3]string {"Jerry", "Tom", "Jerry & Tom"}
    for i := 0; i < 3; i++ {
        fmt.Println(values[i], bar(values[i]))
    }
}

func foo(n int) string {
    switch (n) {
    case 1: return "one"
    case 2: return "two"
    case 3: return "three"
    case 4: return "four"
    case 5: return "five"
    default: return "Unknown"
    }
}

func bar(s string) int {
    switch (s) {
    case "Jerry": return 0
    case "Tom":   return 1
    default:      return 2
    }
}
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:215480次
    • 积分:5733
    • 等级:
    • 排名:第4480名
    • 原创:375篇
    • 转载:14篇
    • 译文:0篇
    • 评论:19条
    文章分类
    最新评论