golang-3- 函數

函數是一等公民,無論什麼語言函數都是重中之重。

1、函數可以沒有參數或接受多個參數,下面這個例子中,`add` 接受兩個 int 類型的參數。

注意:類型在變量名之後(x int, y int) 返回結果在最後 int ,這點和大部分語言相反。

package mainimport "fmt"func add(x int, y int) int {return x + y}func main() {fmt.Println(add(2, 3))}//以上是打印 2+3的結果

2、函數的入參類型的省略,當兩個或多個連續的函數命名參數是同一類型,則除了最後一個類型之外,其他都可以省略,如下圖add函數

package mainimport "fmt"func add(x , y ,z int) int {  //x,y,z都是一個類型int  前面兩個可以省略return x + y+z}func main() {fmt.Println(add(2, 3,4))}

3、函數可以任意數量的返回值,swap 函數返回了兩個字符串

package mainimport "fmt"//第一個返回值y ,第二個返回值x  返回類型要用括號包起來,裡面是返回類型func swap(x, y string) (string, string) {  return y, x}func main() {a, b := swap("hello", "world")fmt.Println(a, b)}

4、Go 的返回值可以被命名,並且像變量那樣使用,返回值的名稱應當具有一定的意義,可以作為文檔使用。沒有參數的 return 語句返回結果的當前值。也就是`直接`返回。直接返回語句僅應當用在像下面這樣的短函數中。在長的函數中它們會影響代碼的可讀性。

package mainimport "fmt"func addStr(x, y string) (m,n string) {  //可以指定返回順序結構m=y+"is ok"n = x + "is ok"return}func main() {a, b := addStr("hello", "world")fmt.Println(a, b)}


golang-3- 函數


函數的基本使用就這些,以後的章節會介紹,怎麼結合結構體去使用。


分享到:


相關文章: