目录:
1、if else语句块
2、for语句
3、switch语句
if else语句块
1、基本语法
if condition {
//do something
}
if statement; condition {
}
if condition {
//do something
} else if condition {
//do something
} else {
//do something
}
2、练习一
// 奇偶数
func testIf1() {
num := 10
// var num int
// num = 10
if num%2 == 0 {
fmt.Printf("num:%d is even
", num)
} else {
fmt.Printf("num:%d is odd
")
}
}
3、练习二
// if.. else if 可赋值
func testIf3() {
// num := 10
// var num int
// num = 10
// if语句块中定义num, num会在语句块中销毁
if num := 11; num%2 == 0 {
fmt.Printf("num %d is even
", num)
} else {
fmt.Printf("num:%d is odd
", num)
}
// 为空
fmt.Printf("num=%d
", num)
}
4、练习三
// 方法
func getNum() int {
return 10
}
func testIf4() {
// if语句块中定义num, num会在语句块中销毁
if num := getNum(); num%2 == 0 {
fmt.Printf("num %d is even
", num)
} else {
fmt.Printf("num:%d is odd
", num)
}
// 为空
fmt.Printf("num=%d
", num)
}
for语句
1、Go语⾔言中只有⼀一种循环 for
for initialisation; condition; post {
}
2、练习一
func testFor1() {
// for块中定义,结束时i销毁
//for i := 1; i <=10 ; i++ {
// fmt.Printf("i=%d
",i)
//}
// 不销毁
var i int
for i = 1; i <= 10; i++ {
fmt.Printf("i=%d
", i)
}
fmt.Printf("final:i=%d
", i)
}
3、练习二
// break 跳出循环 continue
func testFor2() {
var i int
for i = 1; i <= 10; i++ {
if i > 5 {
break
// continue
}
fmt.Printf("i=%d
", i)
}
fmt.Printf("final:i=%d
", i)
}
4、练习三
// continue结束本次循环,跳到下次循环
func testFor3() {
var i int
for i = 1; i <= 10; i++ {
if i%2 == 0 {
continue
}
fmt.Printf("i=%d
", i)
}
fmt.Printf("final:i=%d
", i)
}
// 二种写法
func testFor4() {
//var i int
//i = 1;
i := 1
for i <= 10 {
fmt.Printf("i=%d ", i)
i = i + 2
}
fmt.Printf("final:i=%d ", i)
}
// 三种写法
func testFor5() {
//var i int
//i = 1;
i := 1
for i <= 10 {
fmt.Printf("i=%d ", i)
i = i + 2
}
fmt.Printf("final:i=%d ", i)
}
5、练习四
// 多行赋值
func testMultiSign() {
//var a int
//var b string
//var c int
a, b, c := 10, "hello", 100
fmt.Printf("a=%d b=%s c=%d
", a, b, c)
}
// 多条件for
func testFor6() {
for no, i := 10, 1; i < 10 && no <= 19; i, no = i+1, no+1 {
fmt.Printf("%d * %d = %d", i, no, i*no)
}
}
5、练习五
// 无限循环for
func testFor7() {
for {
fmt.Printf("hello
")
}
}
switch语句
1、case语句
func testIf() {
var a int = 2
if a == 1 {
fmt.Printf("a=1
")
} else if a == 2 {
fmt.Printf("a=2
")
} else if a == 3 {
fmt.Printf("a=3
")
} else if a == 4 {
fmt.Printf("a=4
")
} else {
fmt.Printf("a=5
")
}
}
func testSwitch() {
var a int = 2
switch a {
case 1:
fmt.Printf("a=1
")
case 2:
fmt.Printf("a=2
")
case 3:
fmt.Printf("a=3
")
case 4:
fmt.Printf("a=4
")
case 5:
fmt.Printf("a=5
")
default:
fmt.Printf("a=??
")
}
}
2、写法二
func getValue() int {
return 6
}
// 写法二
func testSwitch2() {
switch a := getValue(); a {
case 1:
fmt.Printf("a=1
")
case 2:
fmt.Printf("a=2
")
case 3:
fmt.Printf("a=3
")
case 4:
fmt.Printf("a=4
")
case 5:
fmt.Printf("a=5
")
default:
fmt.Printf("a=??
")
}
}
3、练习一
func testSwitch3() {
switch a := getValue(); a {
case 1, 2, 3, 4, 5:
fmt.Printf("a>=1 and a<=5
")
case 6, 7, 8, 9, 10:
fmt.Printf("a>=6 and a<=10
")
default:
fmt.Printf("a > 10
")
}
}
4、练习二
func testSwitch4() {
var num = 60
switch {
case num >= 0 && num <= 25:
fmt.Printf("a>=0 and a<=25
")
case num > 25 && num <= 50:
fmt.Printf("a > 25 and a <=50
")
case num > 50 && num <= 75:
fmt.Printf("a > 50 and a <= 75
")
case num > 75 && num <= 100:
fmt.Printf("a > 75 and a <= 100
")
default:
fmt.Printf("invalid a = %d
", num)
}
}
5、fallthrough 穿透case块,执行下一个case块
// fallthrough 穿透case块,执行下一个case块,执行代码
func testSwitch5() {
var num = 60
switch {
case num >= 0 && num <= 25:
fmt.Printf("a>=0 and a<=25
")
case num > 25 && num <= 50:
fmt.Printf("a > 25 and a <=50
")
case num > 50 && num <= 75:
fmt.Printf("a > 50 and a <= 75
")
fallthrough
case num > 75 && num <= 100:
fmt.Printf("a > 75 and a <= 100
")
default:
fmt.Printf("invalid a = %d
", num)
}
}
6、打印99乘法表
// 打印 99乘法表
func testMulti() {
//1*1=1
//1*2=2 2*2=4
//1*3=3 2*3=6 3*3=9
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d * %d = %d", j, i, j*i)
}
fmt.Println()
}
}