Go 中未使用的变量
在 Go 编程中,使用声明的变量是至关重要的。如果您声明的变量在代码范围内未使用,则可能会出现编译错误“声明错误但未使用”。此错误并不表示任何阴影问题。
在给定的代码片段中:
package main import ( "fmt" ) func main() { var ( err error dto = make(map[string]interface{}) ) dto[`thing`], err = getThings() fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
由于未使用 err 变量而发生错误。尽管已声明,但它仅在调用 getThings() 期间分配了一个值,并没有进一步使用。
根据 Go 的常见问题解答,“未使用的变量的存在可能表明存在错误。”未使用的变量会减慢编译和构建时间。因此,Go 需要利用所有声明的变量。
要解决错误,请删除 err 变量声明或将其分配给 _:
package main import ( "fmt" ) func main() { var ( _ error dto = make(map[string]interface{}) ) dto[`thing`], _ = getThings() fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
或者,利用 err 进行错误检查:
package main import ( "fmt" ) func main() { var ( err error dto = make(map[string]interface{}) ) dto[`thing`], err = getThings() if err != nil { fmt.Println(err) return } fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
虽然允许有未使用的全局变量或函数参数,但必须利用函数作用域内声明的变量来避免编译时错误。
以上是为什么 Go 会给出'err Declared and Notused”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!