上一篇我們已經知道go語言中的數據類型中的字符串類型
今天介紹go的if判斷和for循環
if的基本用法
if
判斷的 表達式 是不需要用括號包裹起來的
如果有多個表達式 可以用;
分開
單個條件
age := 18
if age > 18{
fmt.Println("大於18纔會輸出!")
}
多條件
//情況1
sex := 1
if sex == 0 {
fmt.Println("等於0 纔會輸出!")
}else{
fmt.Println("不等於0 纔會輸出!")
}
//情況2
if sex == 0 {
fmt.Println("等於0 纔會輸出!")
}else if sex >20 {
fmt.Println("大於20 纔會輸出!")
}else{
fmt.Println("不滿足以上兩個情況會輸出")
}
//不含else 含有 else if 的寫法
if sex == 0 {
fmt.Println("等於0 纔會輸出!")
}else if sex >20 {
fmt.Println("大於20 纔會輸出!")
}
if的臨時變量和多個表達式的結合
當我們需要進行if判斷的時候 但是並沒有一個現成的變量提供給我們作爲判斷表達式的一部分
而且這個變量的使用僅僅在判斷中才有需要 其他的邏輯不再用到 這時候 我們便可以在if判斷中創建臨時變量
當然 這裏我也會增加 多個表達式的寫法 注意看吧!
if age := 10 ; age > 19 {
fmt.Println("臨時變量大於19 纔會輸出")
}else[
fmt.Println("不滿足以上條件纔會輸出")
}
//爲什麼叫臨時變量呢 如果我不在if判斷的區域 進行打印這個age的變量 會有什麼效果
fmt.Println(age) //報錯啦!!!
###將上面零散知識編寫成go文件 執行一下吧!
新建文件夾if 在文件夾新建main.go
package main
import "fmt"
func main(){
age := 18
if age > 18 {
fmt.Println("大於18")
}else{
fmt.Println("不大於18")
}
sex := 1
if sex == 0 {
fmt.Println("等於0")
}else if sex == 1 {
fmt.Println("等於1")
}else{
fmt.Println("不滿足以上兩個條件")
}
//沒else 只用else if
if sex == 0 {
fmt.Println("等於0")
}else if sex == 2 {
fmt.Println("等於2")
}
//臨時變量和多個表達式的結合使用
if age := 19; age >20 {
fmt.Println("等於2")
}else{
fmt.Println("等於2")
}
}
for循環
for
的結構體寫法和if
類似 同樣表達式支持多個 並且不需要用括號包裹
基本用法如下:
for i:=0;i<9;i++{
fmt.Println(i)
}
for的練習
新建文件夾for 文件夾下新建main.go
package main
import "fmt"
func main(){
//輸出5~9 這裏的寫法不同於基本寫法!!!
i := 5
//上面已經定義初始化了 下面就不需要再寫了
for ;i<10;i++{
fmt.Println(i)
}
//上述的例子用另外一種寫法
//這裏的實現思路是 輸出之後 再將值進行+1操作
i2 := 5
for i2 < 10 {
fmt.Println(i2)
i2++
}
//九九乘法表
for i:= 1;i<=9;i++ {
for j:=1;j<=i;j++{
fmt.Printf("%d*%d = %d ",i,j,i*j)
}
//換行
fmt.Println()
}
}
for和if的結合
package main
import "fmt"
func main(){
//當i等於5跳出循環
for i:=0;i<10;i++{
if i == 5{
break;
}
fmt.Println(i)
}
//i等於5繼續下一次循環
for i:=0;i<10;i++{
if i == 5 {
continue;
}
fmt.Println(i)
}
}
關於break和continue這裏可以順帶一提
首先我們知道for
就是將多數據 一次一次循環出來所以:
break
就是停止 不再執行 在循環中也是
continue
就是跳過這次的循環 進行下一輪的循環
關於if判斷和for循環先介紹到這裏
又不清楚和有歧義的朋友 歡迎在評論區留言!
未完待續。。。