1. 程式人生 > 其它 >GO語言學習——Go語言基礎之流程控制一

GO語言學習——Go語言基礎之流程控制一

Go語言基礎之流程控制

if else(分支結構)

package main

import "fmt"

// if條件判斷
func main(){
	// age := 19
	// if age > 18 { // 如果 age > 18 執行這個{}中的程式碼
	// 	fmt.Println("賭場開業")
	// }else { // 否則執行這個{}中的程式碼
	// 	fmt.Println("寫作業")
	// }

	// // 多個判斷條件
	// if age > 35{
	// 	fmt.Println("人到中年")
	// }else if age > 18{
	// 	fmt.Println("青年")
	// }else {
	// 	fmt.Println("好好學習")
	// }

	// 作用域
	// age 變數此時只在if條件判斷語句中生效
	if age := 19; age > 18 {
		fmt.Println("賭場開業")
	} else {
		fmt.Println("寫作業")
	}

	// fmt.Println(age) // 這裡找不到age

}

for(迴圈結構)

for迴圈的基本格式如下:

for 初始語句;條件表示式;結束語句{
    迴圈體語句
}

for range(鍵值迴圈)

Go語言中可以使用for range遍歷陣列、切片、字串、map 及通道(channel)。 通過for range遍歷的返回值有以下規律:

  1. 陣列、切片、字串返回索引和值。

  2. map返回鍵和值。

  3. 通道(channel)只返回通道內的值。

    package main

    import "fmt"

    // for迴圈

    func main(){
    // 基本格式
    for i := 0;i < 10; i++{
    fmt.Println(i)
    }

     // 變種1
     // var i = 5
     // for  ;i<10;i++{
     // 	fmt.Println(i)
     // }
    
     // 變種2
     // var i = 5
     // for i<10{
     // 	fmt.Println(i)
     // 	i++
     // }
    
     // 無限迴圈
     // for {
     // 	fmt.Println("123")
     // }
    
     // for range迴圈
     s := "Hello 中國"
     for i,v := range s{
     	// fmt.Println(i, v)
     	fmt.Printf("%d %c\n", i, v)
     }
    

    }