Go语言函数返回值

Posted Go程序员开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言函数返回值相关的知识,希望对你有一定的参考价值。

Go语言函数返回值

返回值定义

返回值通过使用返回语句返回。可以返回任意类型。返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行。

Go语言函数可以有零个或多个返回值,可以返回多个不同类型的结果。当函数有返回值 return 语句必须要写,否则编译器会报错。

Go语言在定义函数时返回值可以被命名,命名返回值的作用域是整个函数体就像定义在函数体内的局部变量。在 return 语句中,无需显示的返回这些值,Go 会自动将其返回。

返回值应用

1、零返回值

package main

import (
    "fmt"
)

func oldboy() {
    fmt.Println("老男孩IT教育,只培养技术精英。")
}

func main() {
    oldboy()
}

2、多返回值

package main

import (
    "fmt"
)

func course(name string) (stringstringstringstringstring) {
    return "Linux""Python""Golang""Java""DBA"
}

func main() {
    fmt.Println(course("oldboy"))
}

3、显式返回值,return 语句后必须带返回的结果。

package main

import (
    "fmt"
)

func sum(x, y int) int {
    return x + y
}

func main() {
    fmt.Println(sum(12))
}

4、隐式返回值,只有 return 语句自动返回命名返回值。

package main

import (
    "fmt"
)

func sum(x, y int) (z int) {
    z = x + y
    return
}

func main() {
    fmt.Println(sum(12))
}

巧用return

第一种,无返回值函数,在内部任何程序执行片段使用return ,直接会跳出该函数,return下面的程序片段都不会再执行。

package main

import (
    "fmt"
)

func test() {
    for i := 10; i < 100; i++ {
        fmt.Printf("%v\n", i)
        if i == 11 {
            return
        }
    }
}

func main() {
    test()
}

第二种,有返回值函数,在内部任何程序执行片段使用return,它下面的程序片段都不会再执行,但是程序结尾必须以return结束,否则程序报错。

package main

import (
    "fmt"
)

func test() int {
    i := 0
    for i = 10; i < 100; i++ {
        fmt.Printf("%v\n", i)
        if i == 11 {
            return i
        }
    }
    return i
}

func main() {
    _ = test()
}


下一篇:

Go语言匿名函数------敬请期待!

0基学习Go语言系列:


看完本文有收获?那就分享给更多人吧

以上是关于Go语言函数返回值的主要内容,如果未能解决你的问题,请参考以下文章

Go语言函数返回值

013_go语言中的函数多返回值

go语言学习笔记 — 基础 — 函数:函数的返回值

go语言

GO基础之函数

Go语言入门教程