Una opción si-si no
No hay diferencia con c ++, la atención principal es que '{' no puede ser una sola línea
package main
import "fmt"//导入包必须使用,否则编译报错
func main() {//g语言中的 ‘{’ 不能独占一行
var a int = 1;
if a== 1{
fmt.Printf("条件为真\n")
}
if b := 10; b==10{//b是局部变量
fmt.Printf("条件为真\n")
}else{
fmt.Printf("条件为假\n")
}
c := 10
if c > 10{
fmt.Printf("c > 10\n")
} else if c < 10{
fmt.Printf("c < 10\n")
} else{
fmt.Printf("c = 10\n")
}
}
resultado
Interruptor de segunda opción
package main
import "fmt"//导入包必须使用,否则编译报错
func main() {//g语言中的 ‘{’ 不能独占一行
num := 1
switch num{
case 1:
fmt.Printf("num= 1\n")
//默认执行完break fallthrough不break
//但是后面的条件将不会判断,无条件执行,是条件
case 2:
fmt.Printf("num= 2\n")
case 3:
fmt.Printf("num= 3\n")
default:
fmt.Printf("num> 3\n")
}
switch num2:=2 ;num2{//同if一样,支持一个初始化语句 num2 是局部变量
case 1:
fmt.Printf("num2= 1\n")
case 2:
fmt.Printf("num2= 2\n")
fallthrough
case 3:
fmt.Printf("num2= 3\n")
default:
fmt.Printf("num2> 3\n")
}
//前一个num2 是局部变量,不影响这个
num2 := 1
//switch 可以没有条件,case再写
switch{
case num2==1:
fmt.Printf("num2= 1\n")
case num2==2:
fmt.Printf("num2= 2\n")
fallthrough
case num2==3:
fmt.Printf("num2= 3\n")
default:
fmt.Printf("num2> 3\n")
}
}
resultado
Tres bucles para
package main
import "fmt"//导入包必须使用,否则编译报错
func main() {//g语言中的 ‘{’ 不能独占一行
//普通的
for i := 0 ;i< 3; i++{
fmt.Printf("i=%d\n",i)
}
i:=0
for{//死循环
if(i > 5){
break
}
i++
fmt.Printf("i=%d\n",i)
}
}
resultado
Cuatro bucles para rango
package main
import "fmt"//导入包必须使用,否则编译报错
func main() {//g语言中的 ‘{’ 不能独占一行
str := "abcd"
for i,data:= range str{
fmt.Printf("str[%d]=%c\n",i,data)
}
}
resultado
Cinco emmm
No mientras, hacer mientras
y no se recomienda ir a