package main
import (
"fmt"
)
func main() {
a := 10
b := 20
//条件表达式没有括号
//支持一个初始化表达式(可以是并行方式)
if a, b := 1, 2; a > 0 { //左大括号必须和条件语句或else在同一行
//初始化语句中的变量为block级别,同时隐藏外部同名变量
fmt.Println(a, b)
} else { //左大括号必须和条件语句或else在同一行
fmt.Println("nothing")
}
fmt.Println(a, b)
}
package main
import (
"fmt"
)
func main() {
a := 1
for {
a++
if a > 3 {
break
}
}
fmt.Println(a)
str := "abcdefg"
str_length := len(str)
for a, b := 1, -1; a < str_length; a++ {
b--
fmt.Println(a, b)
}
}
package main
import (
"fmt"
)
func main() {
a := 1
switch a {
case 0:
fmt.Println("a=0")
case 1:
fmt.Println("a=1")
default:
fmt.Println("default")
}
}
package main
import (
"fmt"
)
func main() {
a := 1
switch {
case a >= 0:
fmt.Println("a=0")
case a >= 1:
fmt.Println("a=1")
default:
fmt.Println("default")
}
}
package main
import (
"fmt"
)
func main() {
switch a := 1; {
case a >= 0:
fmt.Println("a=0")
fallthrough
case a >= 1:
fmt.Println("a=1")
default:
fmt.Println("default")
}
}
package main
import (
"fmt"
)
func main() {
LABEL1:
for {
for i := 0; i < 10; i++ {
if i > 3 {
break LABEL1
}
}
}
fmt.Printf("Over")
}
package main
import (
"fmt"
)
func main() {
LABEL1:
for i := 0; i < 10; i++ {
for ii := 0; ii < i*10; ii++ {
if ii > 3 {
continue LABEL1
}
}
}
fmt.Printf("Over")
}
package main
import (
"fmt"
)
func main() {
for i := 0; i < 10; i++ {
for ii := 0; ii < i*10; ii++ {
if ii > 3 {
goto LABEL1
}
}
}
LABEL1:
fmt.Printf("Over")
}