我正在使用 VS Code 將最初用 C++ 編寫的工具轉(zhuǎn)換為 Go,但 Go linter 不喜歡我的堆棧聲明。我已經(jīng)根據(jù) Go 文檔導(dǎo)入了堆棧集合,并且我認(rèn)為我的 go 工作區(qū)目錄層次結(jié)構(gòu)是正確的。-go (workspace) -bin -pkg -darwin_amd64 -github.com -golang-collections -collections -stack.a -src -github.com -golang-collections -collections -stack stack.go stack_test.go -zwnewsom -verifier main.gopackage mainimport ( "C" "github.com/golang-collections/collections/stack")type Item struct { key int value int //sum int sum float64 numerator int64 denominator int64 exponent float64 status Status promoteItems := stack.New()}'New()' 函數(shù)應(yīng)該返回一個(gè)指向堆棧的指針,但 VS Code Go linter 在 ':= stack.New()' 下顯示黃色波浪線,并顯示錯(cuò)誤“預(yù)期 ';',發(fā)現(xiàn) ':=' “這是雙重令人困惑的,因?yàn)槲业挠∠笫?Go 不使用分號(hào)來終止行。
1 回答

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
不要初始化結(jié)構(gòu)定義中的值,只需設(shè)置類型。創(chuàng)建結(jié)構(gòu)體的新實(shí)例時(shí)初始化該值。
type Item struct {
key int
value int
//sum int
sum float64
numerator int64
denominator int64
exponent float64
status Status
promoteItems stack.Stack
}
func main() {
// create an instance of struct Item
item := Item{
promoteItems: stack.New(),
}
}
- 1 回答
- 0 關(guān)注
- 121 瀏覽
添加回答
舉報(bào)
0/150
提交
取消