Golang中,if/else 关键字用于条件判断,如果满足条件就做某事,否则做另一件事。

--if语句可以没有else

--可以在条件语句前添加别的语句

--语句中声明的变量的作用域在所有的分支中

--if条件表达式不能使用花括号**()**包含

--if语句代码段必须使用**{}**,并且左括号必须和if 在同一行

--if 条件表达式的前面可以包含初始化语句,支持平行赋值,但不支持多个赋值与u

MAKR:在go语言中条件语句没必要带圆括号,但分支必须有大括号

语法:

if布尔表达式{/*在布尔表达式为true时执行*/}else{/*在布尔表达式为false时执行*/}

egg:

packagemain


import(

"fmt"

)

func main() {

/*判断布尔表达式*/

if7%2==0{/*如果条件为true则执行以下语句*/

fmt.Println("7iseven")

}else{/*如果条件为false则执行以下语句*/

fmt.Println("7isodd")

}

if8%4==0{

fmt.Println("8isdivisibleby4")

}else{

fmt.Println("8isodd")

}


}结果:7isodd8isdivisibleby4

在go里的2种注释:1、使用“//” 2、使用/*......*/

若采用格式化输出的话需要把Println 替换成Printf

packagemain


import(

"fmt"

)


funcmain(){

varaint=100

ifa<20{

fmt.Printf("LESSTHAN20\n")

}else{

fmt.Printf("MORETHAN20\n")

}

fmt.Printf("打印A的值:%d\n",a)


}MORETHAN20打印A的值:100



##这里编译器可以用LiteIDE,挺不错的,值得推荐.....

多层嵌套if ...{}else if...{}else if ..{}.....else...{}


#####

需要注意的是:1、if条件表达式前面声明的变量只能在if-else语句块使用

1、赋值+条件判断

funcmain(){

ifa,b:=21,3;a<b{

fmt.Printf("a大于b哦...\n")

}else{

fmt.Printf("a小于b哦....\n")

}

}

需要注意的是:2、如果if-else中包含return时,编译器无法解析else中的return

packagemain

import("fmt")

funcmain(){

ifa,b:=21,3;a<b{

return"YourName"

}else{

return"MyName"

}

}

.\main.go:4: imported and not used: "fmt"

.\main.go:9: too many arguments to return

have (string)

want ()

.\main.go:11: too many arguments to return

have (string)

want ()