问一个关于 goland 的简单问题。。。网上死活找不到答案

2019-05-26 23:19:10 +08:00
 gramyang

goland 的 project structure 里面可以把文件夹标记成 excluded 和 resource。

excluded 是可执行文件的输出目录,这个 resource 按照 IDEA 的套路应该是静态资源的目录吧?

但是我测试了一下,不对。。。。静态资源只能放到根目录下才能直接访问。那这个目录是干嘛的??

顺便吐槽一下,网上关于 goland 的资料太太太少了吧

3582 次点击
所在节点    Go 编程语言
6 条回复
jaylee77
2019-05-26 23:24:20 +08:00
这个标记只是告诉 Goland 哪些目录的资源不用扫描分析,跟你能不能访问没有半毛钱关系
gramyang
2019-05-26 23:28:55 +08:00
@jaylee77 扫描分析是什么意思?如果不是 go 文件的话那就扫描不到,完全不需要用这个标记不是吗?
kanezeng
2019-05-26 23:57:08 +08:00
Jetbrains 自己就提供了相关的文档啊。
能标记的是两类:一类是 Excluded,一个事 Resource root。
Excluded 里面的文件,IDE 就不会去扫描和分析里面的文件,假设你在里面定义了任何的包啊,在其它地方用这个包的时候就没有代码补全了,因为 IDE 没扫描过这里不知道有这个包。
Resource root 事告诉 IDE 说,代码里引用资源文件的时候,可以尝试着从这个路径开始找。

这两个只是为了辅助 IDE 而设的,跟你的代码编译没有关系。总不能你用 goland 的写的代码,在命令行下或者换台机器就不能编译吧。
youxiachai
2019-05-27 00:04:26 +08:00
这个不是 golang 的问题啊。。。
这是 ide 的问题啊。。
你搜索的方向错了啊。
gramyang
2019-05-27 00:10:39 +08:00
@kanezeng jetbrains 的文档上我只看到了两句话,可能是我找错了地方吧。。。。
关于 mark as 的信息,goland 和 IDEA 的描述差不多,但是使用起来不同:
IDEA 中 mark as 后,exclude 里面是编译过的 class 文件和 resource 里面的静态资源文件; IDEA 在 Java 代码里引用 resource 里的文件也很简单,加 classpath:即可。
goland 就完全不一样,mark as 后没有用,exclude 需要自己在 build 选项里面选择输出目录,resource 文件也没有 classpath:之类的便捷访问方法。
TMaize
2019-05-27 00:32:40 +08:00
excluded 是不索引里面的文件,索引主要是提示,搜索用的。
关于相对路径访问文件,go run 或者直接编译运行,相对路径都是 go 文件或者可执行文件的路径。
go 直接编译成一个可执行文件,没有依赖,也就没有 classpath 的概念了,gopath 是

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/567868

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX