goland 的 project structure 里面可以把文件夹标记成 excluded 和 resource。
excluded 是可执行文件的输出目录,这个 resource 按照 IDEA 的套路应该是静态资源的目录吧?
但是我测试了一下,不对。。。。静态资源只能放到根目录下才能直接访问。那这个目录是干嘛的??
顺便吐槽一下,网上关于 goland 的资料太太太少了吧
1
jaylee77 2019-05-26 23:24:20 +08:00 1
这个标记只是告诉 Goland 哪些目录的资源不用扫描分析,跟你能不能访问没有半毛钱关系
|
3
kanezeng 2019-05-26 23:57:08 +08:00
Jetbrains 自己就提供了相关的文档啊。
能标记的是两类:一类是 Excluded,一个事 Resource root。 Excluded 里面的文件,IDE 就不会去扫描和分析里面的文件,假设你在里面定义了任何的包啊,在其它地方用这个包的时候就没有代码补全了,因为 IDE 没扫描过这里不知道有这个包。 Resource root 事告诉 IDE 说,代码里引用资源文件的时候,可以尝试着从这个路径开始找。 这两个只是为了辅助 IDE 而设的,跟你的代码编译没有关系。总不能你用 goland 的写的代码,在命令行下或者换台机器就不能编译吧。 |
4
youxiachai 2019-05-27 00:04:26 +08:00
这个不是 golang 的问题啊。。。
这是 ide 的问题啊。。 你搜索的方向错了啊。 |
5
gramyang OP @kanezeng jetbrains 的文档上我只看到了两句话,可能是我找错了地方吧。。。。
关于 mark as 的信息,goland 和 IDEA 的描述差不多,但是使用起来不同: IDEA 中 mark as 后,exclude 里面是编译过的 class 文件和 resource 里面的静态资源文件; IDEA 在 Java 代码里引用 resource 里的文件也很简单,加 classpath:即可。 goland 就完全不一样,mark as 后没有用,exclude 需要自己在 build 选项里面选择输出目录,resource 文件也没有 classpath:之类的便捷访问方法。 |
6
TMaize 2019-05-27 00:32:40 +08:00 via Android
excluded 是不索引里面的文件,索引主要是提示,搜索用的。
关于相对路径访问文件,go run 或者直接编译运行,相对路径都是 go 文件或者可执行文件的路径。 go 直接编译成一个可执行文件,没有依赖,也就没有 classpath 的概念了,gopath 是 |