You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言不使用:=语法如何带类型声明变量接收函数多返回值

解决方案

Go 语法不支持在接收函数多返回值的 var 声明语句中,为不同类型的变量分别显式指定类型,你尝试的几种写法都不符合语法规范,可采用以下两种方案实现需求:

方案1:显式声明变量类型后再赋值

完全满足「显式指定类型、不使用:=」要求的写法如下:

// 先分别显式声明两个变量的类型
var name string
var err error
// 再统一接收 ReadString 的返回值
name, err = reader.ReadString('\n')

方案2:使用var的类型推断(无需手写类型、也不用:=)

如果你只是不想用短变量声明语法,不需要强制手动标注变量类型,可以直接用 var 声明同时接收多返回值,Go 会自动根据函数返回值推断对应变量的类型:

var name, err = reader.ReadString('\n')

编译器会自动识别name为string类型、err为error类型,运行效果和短变量声明完全一致。

内容的提问来源于stack exchange,提问作者shikharraje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:36:05