1. 程式人生 > >5. Go函數

5. Go函數

ret 為什麽 main 相同 bsp 參數 函數返回 類型 Go語言

【定義函數】

直接上一個栗子,Go語言定義函數:

func add(a int, b int) int {
    return a + b
}

一目了然,還不太習慣Go語言的命名方式, 類型為什麽要寫到後面?

【多個返回值】

Go函數還可以返回多個值:

func add(a int, b int)(int , int){
    return a, a + b
}

【命名返回值】

func add(a int, b int) (c int) {
    c = a + b
    return
}

按照網上的說法,命名返回值就是,如上面的代碼。函數會自動定義c,並且自動返回c。

【多個相同類型】

如果函數參數有多個相同的類型,那麽寫一個就可以了,命名返回值也適用。

func add(a, b int) (c int) {
    c = a + b
    return
}

【空白符】

函數返回多個參數,而我們只需要用到其中一個,其他參數不需要的時候可以使用空白符 ‘_‘,一個下劃線。

package main 

import (
    "fmt"
)

func add(a, b int) (c, d int) {
    c = a + b
    d = a * b
    return
}

func main() {
    c, _ := add(3, 4)
    fmt.Printf("c = %v\n", c)
}

5. Go函數