gpt4 book ai didi

go - 使用 Go 的堆栈集合声明堆栈时遇到问题

转载 作者:数据小太阳 更新时间:2023-10-29 03:18:35 25 4
gpt4 key购买 nike

我正在将一个最初用 C++ 编写的工具转换为使用 VS Code 的 Go,但 Go linter 不喜欢我的堆栈声明。

我已经根据 Go 文档导入了堆栈集合,我认为我的 Go 工作区目录层次结构是正确的。

-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.go

package main

import (
"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()' 函数应该返回一个指向堆栈的指针,但是 VS Code Go linter 在':= stack.New()' 下给我一个黄色的波浪线,错误说“expected ';', found ' :='"这更加令人困惑,因为我的印象是 Go 不使用分号来终止行。

最佳答案

不要在结构定义中初始化值,只设置类型。在创建结构的新实例时初始化该值。

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(),
}
}

关于go - 使用 Go 的堆栈集合声明堆栈时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57368290/

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