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
}
}