1.函式
範例程式碼
函數可以沒有參數或接受多個參數。
在這個例子中," add " 接受兩個
注意類型在變數之後。
return 代表傳回的數值為何,這裡表示傳回 x + y 也就是 42+13 ,所以結果會是 55。
詳細的語法定義可以參考官方文件。
當兩個或多個連續的函數命名參數是同一類型,則除了最後一個類型之外,其他都可以省略。
舉例來說
輸出結果
2.多數值的返回
範例程式碼
這個函數返回了兩個字串。
輸出結果
3.命名返回值
範例程式碼
如果命名了返回值參數,一個沒有參數的
以這個程式碼為例,sum int 表示宣告整數 sum ,將參數 17 放入 sum 中,x, y int 宣告整數 x,y 在下面使用,由於 return 沒有設定返回值,這邊程式就將 x,y 都回傳了,所以結果會出現 7 10。
輸出結果
:= 的用法,在後面會有較詳細的說明。
-----------------------------------------------------------------------------------------------------------------------
此為個人學習 Go 語言的過程記錄僅供參考,如有錯誤歡迎回報討論。
部分語句引用官方的說明。
部分用字遣詞可能會與他人理解有出入,歡迎討論。
範例程式碼
package main
import "fmt"
func add(x int, y int) int {
return x + y
}
func main() {
fmt.Println(add(42, 13))
}
函數可以沒有參數或接受多個參數。
在這個例子中," add " 接受兩個
int
類型的參數。
注意類型在變數之後。
return 代表傳回的數值為何,這裡表示傳回 x + y 也就是 42+13 ,所以結果會是 55。
詳細的語法定義可以參考官方文件。
當兩個或多個連續的函數命名參數是同一類型,則除了最後一個類型之外,其他都可以省略。
舉例來說
可以被縮寫為x int, y int
也就是說上面的範例程式碼可以改成x, y int
package main兩種方法的輸出結果都會是相同的。
import "fmt"
func add(x, y int) int {
return x + y
}
func main() {
fmt.Println(add(42, 13))
}
輸出結果
-----------------------------------------------------------------------------------------------------------------------55
2.多數值的返回
範例程式碼
package main函數可以返回任意數量的返回值。
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("hello", "world")
fmt.Println(a, b)
}
這個函數返回了兩個字串。
輸出結果
world hello-----------------------------------------------------------------------------------------------------------------------
3.命名返回值
範例程式碼
package main在 Go 中,函數可以返回多個「結果參數」,而不僅僅是一個值。它們可以像變數那樣命名和使用。
import "fmt"
func split(sum int) (x, y int) {
x = sum * 4 / 9
y = sum - x
return
}
func main() {
fmt.Println(split(17))
}
如果命名了返回值參數,一個沒有參數的
return
語句,會將當前的值作為返回值返回。以這個程式碼為例,sum int 表示宣告整數 sum ,將參數 17 放入 sum 中,x, y int 宣告整數 x,y 在下面使用,由於 return 沒有設定返回值,這邊程式就將 x,y 都回傳了,所以結果會出現 7 10。
輸出結果
-----------------------------------------------------------------------------------------------------------------------7 10
:= 的用法,在後面會有較詳細的說明。
-----------------------------------------------------------------------------------------------------------------------
此為個人學習 Go 語言的過程記錄僅供參考,如有錯誤歡迎回報討論。
部分語句引用官方的說明。
部分用字遣詞可能會與他人理解有出入,歡迎討論。
By You-Ruei Tzeng
留言
張貼留言