亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用iota時,我很困惑

使用iota時,我很困惑

Go
慕的地8271018 2023-07-26 19:39:25
您使用的 Go 版本是什么(go version)?$ go version1.13最新版本是否會重現此問題?是的您使用什么操作系統和處理器架構(go env)?go env輸出$ go envGOEXE=""GOFLAGS=""GOHOSTARCH="amd64"GOHOSTOS="darwin"GONOPROXY=""GONOSUMDB=""GOOS="darwin"GOPATH="/Users/chezixin/go"GOPRIVATE=""GOPROXY="https://goproxy.io"GOROOT="/usr/local/go"GOSUMDB="sum.golang.org"GOTMPDIR=""GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"GCCGO="gccgo"AR="ar"CC="clang"CXX="clang++"CGO_ENABLED="1"GOMOD="/Users/chezixin/go/src/go.mod"CGO_CFLAGS="-g -O2"CGO_CPPFLAGS=""CGO_CXXFLAGS="-g -O2"CGO_FFLAGS="-g -O2"CGO_LDFLAGS="-g -O2"PKG_CONFIG="pkg-config"GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/mr/_x323k891dq9yvmvlgwqf4f40000gn/T/go-build490011880=/tmp/go-build -gno-record-gcc-switches -fno-common"你做了什么?package mainimport "fmt"type T struct {    Name  string    Port  int    State State}type State intconst (    Running State = iota    Stopped    Rebooting    Terminated)func (s State) String() string {    switch s {    case Running:        return "Running"    case Stopped:        return "Stopped"    case Rebooting:        return "Rebooting"    case Terminated:        return "Terminated"    default:        return "Unknown"    }}func main() {    t := T{Name: "example", Port: 6666}    fmt.Printf("t %+v\n", t)}結果:t {Name:example Port:6666 State:Running}您希望看到什么?
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

T.State屬于 類型State。這與該字段是否T.State屬于結構的一部分無關。該類型的零值為State0,也等于Running。因此,當您分配給未初始化t的實例時,會得到零值,即。TT.StateT.StateRunning

據我從代碼中可以看出,您似乎有一個“未知”值,即除了State聲明的值之外的任何值。如果您想打印Unknown的零值State,請更改常量聲明,以便Unknown獲得零值(即 iota)。


查看完整回答
反對 回復 2023-07-26
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號