为了账号安全,请及时绑定邮箱和手机立即绑定

为什么调用用户定义类型的用户定义 String() 会抛出

为什么调用用户定义类型的用户定义 String() 会抛出

Go
holdtom 2021-08-30 14:41:47
我列出了“Go中编程”一书中的代码。我对其进行了测试,但效果不佳。error: "not enough arguments in call to BitFlag.String"Goplayground 代码:http ://play.golang.org/p/FG23LdS_xKtype BitFlag intfunc main() {    flag := Active | Send    BitFlag.String();}func (flag BitFlag) String() string {   ...}为什么我会看到此错误消息?
查看完整描述

1 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您需要在BitFlag(此处为 ' flag')的实例上调用 String ,而不是在BitFlag类型本身上调用。


flag := Active | Send

fmt.Println(strconv.Itoa(int(flag)))

fmt.Println(flag.String())


输出:


3

3(Active|Send)


查看完整回答
反对 回复 2021-08-30
  • 1 回答
  • 0 关注
  • 280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信