流程控制
選擇結構(分支陳述句)
? 因為switch只能匹配固定值,推薦使用if-else做條件篩選
if-else判斷
package main
import "fmt"
func main() {
var tmpA int
fmt.Scanln(&tmpA)
if tmpA >= 90 {
fmt.Println("tmpA >= 90")
} else if tmpA < 90 && tmpA >= 60 {
fmt.Println("tmpA < 90 && tmpA >= 60")
} else {
fmt.Println("tmpA < 60")
}
}
switch判斷
? switch陳述句執行的程序從上至下,知道找到匹配項,匹配項后面也不需要再加break,case之后默認添加break
package main
import "fmt"
// switch 后面如果什么都不跟,就會默認為bool型別,值為true
func main() {
var tmpA int
fmt.Scanln(&tmpA)
switch tmpA {
case 90:
fmt.Println("tmpA = 90")
case 80:
fmt.Println("tmpA = 80")
default:
fmt.Println("default")
}
}
fallthrough穿透(和break相反)
? switch默認情況下匹配成功后就不會執行其他case,如果我們需要執行后面的case,可以使用fall through穿透實作,它會強制執行后面的陳述句,并不會判斷后面case運算式是否匹配
package main
import "fmt"
func main() {
var tmpA int
fmt.Scanln(&tmpA)
switch tmpA {
case 90:
fmt.Println("tmpA = 90")
fallthrough
case 80:
fmt.Println("tmpA = 80")
fallthrough
default:
fmt.Println("default")
}
}
回圈結構(for回圈)
package main
import "fmt"
func main() {
// 回圈的條件判斷沒有括號,同樣break和continue使用同c語言一樣
for i := 0; i < 10; i++ {
if i == 4 {
continue // 結束當前回圈
} else if i == 6 {
break // 結束整個回圈
}
fmt.Print(i)
}
}
string
? go語言中的字串是一個位元組的切片,可以通過將其內容封裝在“”中來創建字串,go語言中字串編碼兼容Unicode,且使用UTF-8編碼,是一些位元組的集合
package main
import "fmt"
func main() {
// string 是不能被單獨修改里面的某一位的
str := "string example"
fmt.Println(str)
// 獲取字串長度
fmt.Println("字串長度為: ", len(str))
// 獲取指定的位元組(直接獲得的是Ascll編碼)
fmt.Println("獲取指定的位元組:", str[2])
// 格式化輸出指定位元組
fmt.Printf("獲取指定的位元組: %c \n", str[2])
// 使用for回圈遍歷字串
for i := 0; i < len(str); i++ {
fmt.Printf("遍歷字串: %c\n", str[i])
}
// for range回圈,用于遍歷陣列以及切片....
// i:字串下標
// v:當前下表對應的值,可以直接使用
for i, v := range str {
fmt.Printf("i = %d,v = %c \n", i, v)
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/548948.html
標籤:Go
上一篇:Java的運行時資料區域
下一篇:請撰寫一個程式,使用兩個執行緒分別輸出數字和字母,要求輸出的結果為:1A2B3C4D5E6F7G8H9I10J。
