当我在阅读《小小的忙》一书时,发现它建议编写一个没有任何返回值的函数。因此,我继续测试该功能,但程序无法编译,并给我这个“...用作值”错误。有人知道这是怎么回事吗?

package main

import (
    "fmt"
)

func log(message string) {
    fmt.Println(message)
}

func main() {
    msg := log("just a message")
    fmt.Println(msg)
}

我知道这个功能是微不足道的(也许这个问题也很愚蠢)。但是我只是想知道Go中这种功能是否合法?

最佳答案

您在这里使用的功能

func log(message string){
    fmt.Println(message)
}

实际上什么也没返回。

但是您将其分配给变量是不正确的。由于函数什么也不返回。
msg := log("just a message")

这就是为什么错误

..用作价值

您可以直接调用它。
func main() {
    log("just a message")
}

查看go playground

关于function - Golang中没有返回值函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48949268/

10-12 06:40