条件语句

if语句

if语句是最常用的条件判断语句,在go语言中,if语句与其他语言没有什么差异,可以使用ifelse ifelse语句进行多次判断,也可以在if语句中嵌套if语句,并且if语句后方的条件可以省略括号。

import (
	"fmt"
	"strconv"
)

var numStr string
fmt.Println("please enter a number")
//读取控制台输入
fmt.Scan(&numStr)
//转换控制台输入的字符串为int
number, err := strconv.Atoi(numStr)
if err != nil {
	fmt.Println("it's not a number")
}else {
	//打印number
	fmt.Println("number is", number)
	//判断控制台输入的数字是否大于20 嵌套if语句
	if (number > 20) {
		fmt.Println("greater than 20")
	}else if (number <20) {
		fmt.Println("less than 20")
	}else {
		fmt.Println("equal 20")
	}
}
/* 结果
please enter a number
20
number is 20
equal 20
*/

switch语句

go语言中,switch无需像其他语言一样,使用break跳出switch判断,默认case执行完毕后跳出判断。如果我们需要运行之后的case,可以使用fallthrough关键字,但使用fallthrough关键字后,case后的条件将不再被判断,而是直接执行。

import (
	"fmt"
	"strconv"
)
//定义枚举
const (
	Sunday = iota
	Monday
	Tuesday
	Wednesday
	Thursday
	Friday
	Saturday
)
//获取控制台输入
var numStr string
fmt.Println("please enter a number")
fmt.Scan(&numStr)

number, err := strconv.Atoi(numStr)
if err != nil {
	fmt.Println("it's not number")
} else {
	//switch判断当前的数字
	switch number {
		case Sunday:
			fmt.Println("today is Sunday")
		case Monday:
			fmt.Println("today is Monday")
		case Tuesday:
			fmt.Println("today is Tuesday")
		case Wednesday:
			fmt.Println("today is Wednesday")
		case Thursday:
			fmt.Println("today is Thursday")
		case Friday:
			fmt.Println("today is Friday")
		case Saturday:
			fmt.Println("today is Saturday")
		default:
			fmt.Println("it's not a correct number")
	}
}

/* 结果
please enter a number
0
today is Sunday
*/

循环语句

for关键字是go语言中唯一的用于循环的关键字,我们可以使用for关键字来实现其他语言的各种形式的循环。

条件循环

  • 方式一
for i := 1; i <= 5; i++ {
	fmt.Println(i)
}

/* 结果
1
2
3
4
5
*/
  • 方式二
num := 1
for num <= 5 {
	fmt.Println(num)
	num++
}
/* 结果
1
2
3
4
5
*/

range循环

//定义切片slice
strs := []string {}
//插入数据
strs = append(strs, "test1")
strs = append(strs, "test2")
strs = append(strs, "test3")
//for循环打印数据
for index, item := range strs {
	fmt.Println(index, item)
}

/* 结果
0 test1
1 test2
2 test3
*/

while循环

num := 1
for{
	//条件判断是否退出循环
	if(num > 5){
		break
	}
	
	fmt.Println(num)
	num++
}

/* 结果
1
2
3
4
5
*/
文章作者: Willxup
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Willxup
Go Go
喜欢就支持一下吧