《Go 學習筆記6》函式

                    文章摘要
                
 
                    這篇文章,會介紹 Go 語言中,function 的使用方式
                
        文章主題
    
 這是自學 Go lang 的筆記,若內容有誤,請留言區提醒,我會儘快改正,謝謝
在 Go 語中,為了可以重復使用某個程式碼片段,我們使用函式 (function) 來進實作。而在 Go 語言中,function 可以輸入多個參數值,也可以回傳多個參數值
##無 return 函式
func 函式名 (參數1 變數型態, 參數2 變數型態, ...) {
    //執行程式片段
}
//呼叫方式
函式名(參數1, 參數2)
範例
package main
import "fmt"
func main() {
    hello("Allen", 23)
}
func hello(name string, age int8) {
    fmt.Printf("Hello %s\r\n", name)
    fmt.Printf("年紀 %d\r\n", age)
}
執行結果
Hello Allen
年紀 23
return 函式
func 函式名  (參數1 變數型態, 參數2 變數型態, ...) 回傳型態 {
    //執行程式片段
    return 回傳值
}
範例
package main
import "fmt"
func main() {
    total := sum(4, 2, 3)
    fmt.Println(total)
}
func sum(x int, y int, z int) int {
    return x + y + z
}
執行結果
9
return 多個值
格式
func 函式名  (參數1 變數型態, 參數2 變數型態, ...) (回傳型態1, 回傳型態2, 回傳型態3,...) {
    //執行程式片段1
    return 回傳值1, 回傳值2, 回傳值3,...
}
範例
package main
import "fmt"
func main() {
    var name string
    var sex bool
    var height float32
    var weight float32
    var sexString string
    
    name, sex, height, weight = getPersonData()
    sexString = getSexString(sex)
    fmt.Printf("姓名:%s\r\n", name)
    fmt.Printf("性別:%s\r\n", sexString)
    fmt.Printf("身高:%.2f\r\n", height)
    fmt.Printf("體重:%.2f\r\n", weight)
}
func getPersonData() (string, bool, float32, float32) {
    return "小明", true, 175.0, 60.5
}
func getSexString(sex bool) string {
    if sex == true {
        return "男"
    } else {
        return "女"
    }
}
執行結果
姓名:小明
性別:男
身高:175.00
體重:60.50