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

在同一包中找不到结构

在同一包中找不到结构

Go
ABOUTYOU 2023-07-10 14:50:17
突然,vscode 无法获取同一包中不同文件中的访问结构体。错误显示未定义的结构之前vscode能够跨文件实例化struct(vscode+go1.12.4)示例代码如下:文件1 a.gopackage mainimport "fmt"type su struct {    Sfd string    Sf  int}func (sed *su) do() {    fmt.Println(sed.Sfd + string(sed.Sf))}文件2 main.gopackage mainimport "fmt"func main() {    d := su{}    fmt.Println(d)}这两个文件在同一个包中有人遇到同样的问题吗?
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

实际上,语言服务器有时会崩溃。打开命令面板并输入“语言服务器”。应显示一条命令“重新启动语言服务器”。重新启动 VSCode 可能就足够了。



查看完整回答
反对 回复 2023-07-10
?
MM们

TA贡献1886条经验 获得超2个赞

在 GoLand 中,您可以将运行类型从文件更改为包。

//img1.sycdn.imooc.com//64abaa570001ad5e06460374.jpg


查看完整回答
反对 回复 2023-07-10
?
慕容森

TA贡献1853条经验 获得超18个赞

我也遇到过同样的问题。su通过之前使用包名称来指向类型(在您的情况下)就足够了。例如:(d := mypackage.su{}即使您从同一个包但不同的源文件中使用它)。它在我的情况下有效,但出于某种原因,GoLand IDE 没有建议这样的解决方案。



查看完整回答
反对 回复 2023-07-10
  • 3 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

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