Golang:如何使用TYPE声明返回的变量?

时间:2015-09-25 16:16:39

标签: go

在GO中,如何声明函数WITH TYPE的返回变量?

e.g。我有这个代码

dat, err := ioutil.ReadFile("/tmp/dat")
check(err)
fmt.Print(string(dat))

但我想要的是:

var dat []byte, err error := ioutil.ReadFile("/tmp/dat")
check(err)
fmt.Print(string(dat))

然而,无论我如何尝试,我只得到这个输出

  

语法错误:意外逗号,期待分号或换行符或}

我在没有IDE的情况下工作,随着变量数量的增加,必须将所有返回值的类型保存在短期内存中真的很愚蠢......更不用说其他人必须阅读代码了。 / p>

如何声明返回的元组WITH类型?

1 个答案:

答案 0 :(得分:4)

那是因为您在作业中使用了:=,这是一种方便的语法来声明和分配。它使得你不必提供类型,我认为编译器只是通过返回的内容/来自右侧的任何类型来暗示它。相反,你需要这样做;

var dat []byte
var err error

dat, err = ioutil.ReadFile("/tmp/dat")

但没有人这样做,因为dat, err := ioutil.ReadFile("/tmp/dat")语法更清晰。

相关问题