中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang函數的返回值如何實現

發布時間:2023-03-09 14:24:01 來源:億速云 閱讀:99 作者:iii 欄目:開發技術

這篇文章主要介紹“golang函數的返回值如何實現”,在日常操作中,相信很多人在golang函數的返回值如何實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”golang函數的返回值如何實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

函數可以有0或多個返回值,返回值需要指定數據類型,返回值通過return關鍵字來指定。

  • return可以有參數,也可以沒有參數,這些返回值可以有名稱,也可以沒有名稱。go中的函數可以有多個返回值。

  • return關鍵字中指定了參數時,返回值可以不用名稱。如果return省略參數,則返回值部分必須帶名稱

  • 當返回值有名稱時,必須使用括號包圍,逗號分隔,即使只有一個返回值

  • 但即使返回值命名了,return中也可以強制指定其它返回值的名稱,也就是說return的優先級更高

  • 命名的返回值是預先聲明好的,在函數內部可以直接使用,無需再次聲明。命名返回值的名稱不能和函數參數名稱相同,否則報錯提示變量重復定義

  • return中可以有表達式,但不能出現賦值表達式,這和其它語言可能有所不同。例如return a+b是正確的,但return c=a+b是錯誤的。

go語言函數返回值實例

沒有返回值

func f1() {
    fmt.Printf("我沒有返回值,只是進行一些計算")
}

有一個返回值

func sum(a int, b int) (ret int) {
    ret = a + b
    return ret
}

多個返回值,且在return中指定返回的內容

func f2() (name string, age int) {
    name = "老郭"
    age = 30
    return name, age
}

多個返回值,返回值名稱沒有被使用

func f3() (name string, age int) {
    name = "老郭"
    age = 30
    return // 等價于return name, age
}

return覆蓋命名返回值,返回值名稱沒有被使用

func f4() (name string, age int) {
    n := "老郭"
    a := 30
    return n, a
}

Go中經常會使用其中一個返回值作為函數是否執行成功、是否有錯誤信息的判斷條件。例如return value,exists、return value,ok、return value,err等。

當函數的返回值過多時,例如有4個以上的返回值,應該將這些返回值收集到容器中,然后以返回容器的方式去返回。例如,同類型的返回值可以放進slice中,不同類型的返回值可以放進map中。

但函數有多個返回值時,如果其中某個或某幾個返回值不想使用,可以通過下劃線_來丟棄這些返回值。例如下面的f1函數兩個返回值,調用該函數時,丟棄了第二個返回值b,只保留了第一個返回值a賦值給了變量a。

package main
 
import "fmt"
 
func f1() (int, int) {
    return 1, 2
}
func main() {
    _, x := f1()
    fmt.Printf("x: %v\n", x)
}

運行結果

[Running] go run "d:\SynologyDrive\軟件開發\go\golang入門到項目實戰\goproject\360duote.com\pro01\test.go"
x: 2

到此,關于“golang函數的返回值如何實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安吉县| 光山县| 井冈山市| 中卫市| 阳城县| 高平市| 贺兰县| 五指山市| 综艺| 祁阳县| 巨野县| 瑞安市| 乌兰察布市| 基隆市| 武宣县| 南皮县| 嘉鱼县| 呼图壁县| 阳信县| 宁明县| 霍城县| 临沂市| 紫金县| 玉门市| 阳高县| 奉化市| 新沂市| 龙江县| 武义县| 北辰区| 龙南县| 侯马市| 乌兰察布市| 柏乡县| 上杭县| 阿尔山市| 永靖县| 海淀区| 灵丘县| 永登县| 郁南县|