Go语言条件语句

Go语言条件语句

GO语言学习教程
www.lsdcloud.com

1 程序的流程结构

  • 程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。
  • 顺序结构:从上向下,逐行执行。
  • 选择结构:条件满足,某些代码才会执行。0-1次
  • 分支语句:if,switch,select
  • 循环结构:条件满足,某些代码会被反复的执行多次。0-N次
  • 循环语句:for

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qIXdeFzp-1579755016556)(/img/goImage/if语句.png)]

2 条件语句

2.1 If语句

语法格式:

if 布尔表达式 {
   /* 在布尔表达式为 true 时执行 */
}
if 布尔表达式 {
   /* 在布尔表达式为 true 时执行 */
} else {
  /* 在布尔表达式为 false 时执行 */
}
if 布尔表达式1 {
   /* 在布尔表达式1为 true 时执行 */
} else if 布尔表达式2{
   /* 在布尔表达式1为 false ,布尔表达式2为true时执行 */
} else{
   /* 在上面两个布尔表达式都为false时,执行*/
}

示例代码:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 10
 
   /* 使用 if 语句判断布尔表达式 */
   if a < 20 {
       /* 如果条件为 true 则执行以下语句 */
       fmt.Printf("a 小于 20\n" )
   }
   fmt.Printf("a 的值为 : %d\n", a)
}

如果其中包含一个可选的语句组件(在评估条件之前执行),则还有一个变体。它的语法是

if statement; condition {  
}

if condition{
    
    
}

示例代码:

package main

import (  
    "fmt"
)

func main() {  
    if num := 10; num % 2 == 0 { //checks if number is even
        fmt.Println(num,"is even") 
    }  else {
        fmt.Println(num,"is odd")
    }
}

需要注意的是,num的定义在if里,那么只能够在该if…else语句块中使用,否则编译器会报错的。


func ifDemo1() {
	score := 65
	if score >= 90 {
		fmt.Println("A")
	} else if score > 75 {
		fmt.Println("B")
	} else {
		fmt.Println("C")
	}
}

3 条件判断特殊写法

if条件判断还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断。

举个例子:

func ifDemo2() {
	if score := 65; score >= 90 {
		fmt.Println("A")
	} else if score > 75 {
		fmt.Println("B")
	} else {
		fmt.Println("C")
	}
}

思考题: 上下两种写法的区别在哪里?

GO语言学习教程
www.lsdcloud.com

posted @ 2020-01-23 12:50  ourlang  阅读(428)  评论(0编辑  收藏  举报