GoLang学习控制语句之if/else
2018-04-17 19:34
239 查看
if语句
if 是用于测试某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行 if 后由大括号括起来的代码块,否则就忽略该代码块继续执行后续的代码。
if condition { // do something }
if-else结构定义
如果存在第二个分支,则可以在上面代码的基础上添加 else 关键字以及另一代码块,这个代码块中的代码只有在条件不满足时才会执行。if 和 else 后的两个代码块是相互独立的分支,只可能执行其中一个。
if condition { // do something } else { // do something }
多分支if-else结构定义
如果存在第三个分支,则可以使用下面这种三个独立分支的形式:
if condition1 { // do something } else if condition2 { // do something else }else { // catch-all or default }
即使当代码块之间只有一条语句时,大括号也不可被省略(尽管有些人并不赞成,但这还是符合了软件工程原则的主流做法)。
格式规则
- Go语言中条件语句不需要圆括号。但是分支中必须有大括号。
- Go语言条件语句中可以用:=初始化一个变量,不过需要记住,这个变量是局部变量,该变量的作用域仅在if范围之内。
- Go语言里面对if/else格式对齐要求很严格,如果需要if/else组合,则需要在if语句结束的大括号后面就跟上else。
- 关键字 if 和 else 之后的左大括号{必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号}必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。
代码示例
package main import "fmt" func main() { // 基本的例子 if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Println("7 is odd") } // 只有if条件的情况 if 8%4 == 0 { fmt.Println("8 is divisible by 4") } // if条件可以包含一个初始化表达式,这个表达式中的变量 // 是这个条件判断结构的局部变量 if num := 9; num < 0 { fmt.Println(num, "is negative") } else if num < 10 { fmt.Println(num, "has 1 digit") } else { fmt.Println(num, "has multiple digits") } }
相关文章推荐
- java学习之路 之 基本语法-程序流程控制-(if-else)语句练习题
- Golang从入门到精通(五):Golang控制语句之if/else
- java学习之路 之 基本语法-程序流程控制-(if-else)语句练习题
- Linux学习之道:linux中流程控制语句if if else case
- Linxu Shell 学习笔记(八)-- if else 与 case esac语句
- Python新手学习基础之条件语句——if/else语句
- java学习 四、条件语句 if-else
- 反汇编之流程控制语句的识别(if...else...语句)
- Objective-C学习笔记(七)——if-else条件判断语句
- Python学习(七) 流程控制if语句
- Python学习入门基础教程(learning Python)--3.2 if-else分支语句
- python学习小结2:if和while控制语句
- 深入浅出学习Struts1框架(三):彻底去掉TestServlet中的字符串和if-else语句块
- Java自学之路-Java基础教程-11:Java基本语句之1-条件控制语句if和else
- python流程控制语句 ifelse - 4
- 每天学习一算法系列(12) (求1+2+…+n,不能使用乘除法,for、while、if 、else、switch、case 等关键字以及条件判断语句)
- PHP流程控制语句-if、if-else、if-elseif-else语句
- Python流程控制语句->if .......else
- python学习小结2:if和while控制语句
- C++学习笔记 4th —— 万能流程控制if语句