【Golang 基礎系列十】Go 語言 條件語句之if

楓少文發表於2019-06-04

在這裡插入圖片描述

概述

條件語句需要開發者通過指定一個或多個條件
並通過測試條件是否為 true 來決定是否執行指定語句
並在條件為 false 的情況再執行另外的語句。

語法

package main
	
func main() {
	  
	  //第一種格式
	   if  條件表示式 {
	   		語句1
	   }
	   
	   //第二種格式
	   if 初始化表示式; 條件表示式 {
	   		語句1
	   }
	   
	   //第三種格式
	   if 初始化表示式; 條件表示式 {
	     	語句1
	   }else{
	   	 	語句2
	   }
	   
	   //第四種格式
	   if 初始化表示式; 條件表示式 {
	    	語句1
	   }else if 初始化表示式; 條件表示式 {
	   	 	語句2
	    }else{
	    	語句3
	   }
	}

格式規則

1)Go語言中條件語句不需要圓括號,但是分支中必須有大括號。

2)Go語言條件語句中可以用 := 初始化一個變數,不過需要記住,這個變數是區域性變數,該變數的作用域僅在if範圍之內。

3)Go語言裡面對 if/else 格式對齊要求很嚴格,如果需要 if/else 組合,則需要在if語句結束的大括號後面就跟上else。
這裡寫上程式碼

4)關鍵字 if 和 else 之後的左大括號 { 必須和關鍵字在同一行,如果你使用了 else-if 結構,則前段程式碼塊的右大括號 } 必須和 else-if 關鍵字在同一行。這兩條規則都是被編譯器強制規定的。

示例程式碼

package main

import (
	"fmt"
	"io/ioutil"  //一定要匯入包
)

func main() {

	age := 10

	//1. 第一種表示式  if
	if age > 10 { //其他的語言有括號,這裡沒有括號,如果你加上了括號,go fmt還是會刪除你的括號
		fmt.Println("age大於10")
	}

	//2. 第二種表示式  if else
	if age > 20 {
		fmt.Println("age大於20")
	} else {
		fmt.Println("age小於20")
	}

	//3. 第三種表示式 if-else if
	if age == 20 {
		fmt.Println("age等於20")
	} else if age > 20 {
		fmt.Println("age大於20")
	} else {
		fmt.Println("age小於20")

	}

	//4. 第四種格式 初始化表示式; 條件表示式
	if i := 20; i == 10 {
		fmt.Println("i等於10")
	} else {
		fmt.Println("i不等於10")
	}

	//讀取檔案 ioutil是個go自帶的包,ReadFile首字母大小表示是公有的方法,nil表示是否為空,不為空是表示表示開啟檔案失敗
	// 一定要匯入 io/ioutil
	// 必須在當前目錄下建立abc.txt檔案
	if response, err := ioutil.ReadFile("abc.txt"); err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(string(response))
	}

}

相關文章