gpt4 book ai didi

golang 开关出现 ` used as value` 错误?

转载 作者:IT王子 更新时间:2023-10-29 02:29:41 25 4
gpt4 key购买 nike

我真的不知道为什么switch t := some.(type){}效果很好,但如果我尝试 switch k := f.Kind(){}等等。

.\mym.go:58: k := f.Kind() used as value

exit status 2

最佳答案

是的,你没看错,是语法错误;它应该是 SimpleStmt 或ExprSwitchStmt = "开关"[ SimpleStmt ";"] [表达式] "{"{ ExprCaseClause } "}".
看: https://golang.org/ref/spec#Switch_statements
在表达式开关中,案例包含与开关表达式的值进行比较的表达式。这将起作用:

package main

import (
"fmt"
)

type Test struct {
kind int
}

func (s *Test) Kind() int {
return s.kind
}
func main() {
f := &Test{12}
//fmt.Println(k := f.Kind()) //syntax error: unexpected :=, expecting comma or )
switch k := f.Kind(); k {
case 12:
fmt.Println(k) //12
case 0:
fmt.Println("Bye!")
}
}

关于golang 开关出现 ` used as value` 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36807948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com