Golang入门到项目实战 | golang中的if语句

Posted 一个热爱编程的通信人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang入门到项目实战 | golang中的if语句相关的知识,希望对你有一定的参考价值。

go语言中的if语句和其他语言中的类似,都是根据给定的条件表达式运算结果来,判断执行流程。

go语言if语句语法

if 布尔表达式 
   /* 在布尔表达式为 true 时执行 */

注意:在go语言中 布尔表达式不用使用括号。

go语言if语句实例演示

根据布尔值flag判断

import "fmt"

func test1() 
	var flag = true
	if flag 
		fmt.Println("flag is true")
	
	fmt.Printf("程序运行结束")


func main() 
	test1()

程序运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
flag is true
程序运行结束

初始变量可以声明在布尔表达式里面,注意它的作用域

package main

import "fmt"

func test3() 
	if age := 20; age > 18 
		fmt.Println("你是成年人")
	
	fmt.Printf("程序运行结束")


func main() 
	test3()

程序运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
你是成年人
程序运行结束

注意:不能使用0或非0表示真假

go语言if语句使用提示:

  1. 不需使用括号将条件包含起来
  2. 大括号必须存在,即使只有一行语句
  3. 左括号必须在if或else的同一行
  4. 在if之后,条件语句之前,可以添加变量初始化语句,使用;进行分隔

go语言中的if else语句可以根据给定条件二选一。

go语言的if else语句语法

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

go语言if else语句实例

比较两个数的大小

package main

import "fmt"

func f1() 
	a := 1
	b := 2
	if a > b 
		fmt.Printf("\\"a>b\\": %v\\n", "a>b")
	 else 
		fmt.Printf("\\"a<=b\\": %v\\n", "a<b")
	


func main() 
	f1()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
"a<=b": a<b

判断一个数是奇数还是偶数

package main

import "fmt"

func f2() 
	var s int
	fmt.Println("输入一个数字:")
	fmt.Scan(&s)

	if s%2 == 0 
		fmt.Print("s 是偶数\\n")
	 else 
		fmt.Print("s 不是偶数\\n")
	
	fmt.Print("s 的值是:", s)


func main() 
	f2()

运行结果

guoliangs-MacBook-Pro-15-inch:pro01 guoliang$ go run test.go
输入一个数字:
8
s 是偶数
s 的值是:8g

判断一个人是否成年

package main

import "fmt"

func f3() 
	age := 20
	if age >= 18 
		fmt.Println("你是成年人")
	 else 
		fmt.Println("你还未成年")
	

func main() 
	f3()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
你是成年人

特殊写法,在if前面添加执行语句

package main

import "fmt"

func f4() 
	if age := 20; age >= 18 
		fmt.Println("你是成年人")
	 else 
		fmt.Println("你还未成年")
	


func main() 
	f4()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
你是成年人

go语言if语句使用提示:

  1. 不需使用括号将条件包含起来
  2. 大括号必须存在,即使只有一行语句
  3. 左括号必须在if或else的同一行
  4. 在if之后,条件语句之前,可以添加变量初始化语句,使用;进行分隔

go语言if语句可以进行多重嵌套使用,进行多重判断。

go语言中的if else if语法

if 布尔表达式1 
    // do something
 else if 布尔表达式2 
    // do something else
else 
    // catch-all or default

go语言中的if else if语法实例

根据分数判断等级

package main

import "fmt"

func f5() 
	score := 80
	if score >= 60 && score <= 70 
		fmt.Println("C")
	 else if score > 70 && score <= 90 
		fmt.Println("B")
	 else 
		fmt.Println("A")
	

func main() 
	f5()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
B

同样也可以写成这样

package main

import "fmt"

func f5() 
	if score := 80; score >= 60 && score <= 70 
		fmt.Println("C")
	 else if score > 70 && score <= 90 
		fmt.Println("B")
	 else 
		fmt.Println("A")
	


func main() 
	f5()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
B

输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母

package main

import "fmt"

func f6() 
	//  Monday Tuesday Wednesday Thursday Friday Saturday Sunday
	var c string
	fmt.Println("输入一个字符:")
	fmt.Scan(&c)

	if c == "S" 
		fmt.Println("输入第二个字符:")
		fmt.Scan(&c)
		if c == "a" 
			fmt.Println("Saturday")
		 else if c == "u" 
			fmt.Println("Sunday")
		 else 
			fmt.Println("输入错误")
		
	 else if c == "F" 
		fmt.Println("Friday")
	 else if c == "M" 
		fmt.Println("Monday")
	 else if c == "T" 
		fmt.Println("输入第二个字符:")
		fmt.Scan(&c)
		if c == "u" 
			fmt.Println("Tuesday")
		 else if c == "h" 
			fmt.Println("Thursday")
		 else 
			fmt.Println("输入错误")
		
	 else if c == "W" 
		fmt.Println("Wednesday")
	 else 
		fmt.Println("输入错误")
	


func main() 
	f6()

运行结果

guoliangs-MacBook-Pro-15-inch:pro01 guoliang$ go run test.go
输入一个字符:
M
Monday

go语言if语句可以嵌套多级进行判断。

go语言if嵌套语法

if 布尔表达式 1 
   /* 在布尔表达式 1 为 true 时执行 */
   if 布尔表达式 2 
      /* 在布尔表达式 2 为 true 时执行 */
   

go语言if嵌套实例

判断三个数的大小

package main

import "fmt"

// a>b a>c a
// b>a b>c b else c

func f1() 
	a := 100
	b := 200
	c := 3
	if a > b 
		if a > c 
			fmt.Println("a最大")
		
	 else 
		if b > c 
			fmt.Println("b最大")
		 else 
			fmt.Println("c最大")
		
	


func main() 
	f1()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/tempCodeRunnerFile.go"
b最大

判断男生还是女生,还有是否成年

package main

import "fmt"

// a>b a>c a
// b>a b>c b else c

func f2() 
	// 判断男女生及年龄
	gender := "女生"
	age := 16
	if gender == "男生" 
		fmt.Println("男生")
		if age > 18 
			fmt.Println("成年")
		 else 
			fmt.Println("未成年")
		
	 else 
		fmt.Println("女生")
		if age > 18 
			fmt.Println("成年")
		 else 
			fmt.Println("未成年")
		
	


func main() 
	f2()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
女生
未成年

以上是关于Golang入门到项目实战 | golang中的if语句的主要内容,如果未能解决你的问题,请参考以下文章

Golang入门到项目实战 golang for循环语句

Golang入门到项目实战 | golang并发编程之channel的遍历

Golang入门到项目实战 | golang关键字continue

Golang入门到项目实战 golang 函数

Golang入门到项目实战 golang方法

Golang入门到项目实战 | golang匿名函数