我想使用IntelliJ IDE Community Edition在**GO(GoLang)**中编写代码。我安装了正确的插件,并安装了构建应用程序所需的所有工具。我的应用程序由以下两个文件组成。每个文件都在目录 ../EventServer 中。
- Main.go
- Data.go
如果我想使用函数Run(Ctlr+Shift+F10)从IntelliJ运行项目,并且我得到以下错误
/usr/lib/go/bin/go build -o "/tmp/Build Main.go and run0go" -gcflags "-N -l" /my/home/blah/EventServer/Main.go
# command-line-arguments
./Main.go:11: undefined: Data
我可以没有任何问题编译代码从终端进入目录与项目和执行命令
:~/Pulpit/EventServer$ go build
./EventServer
Hello
dane w strukturze someone
树目录和文件看起来像
EventServer$ tree -a
.
├── Data.go
├── EventServer
├── EventServer.iml
├── .idea
│ ├── compiler.xml
│ ├── copyright
│ │ └── profiles_settings.xml
│ ├── libraries
│ │ └── GOPATH__EventServer_.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── .name
│ ├── vcs.xml
│ └── workspace.xml
└── Main.go
我认为要运行命令不正确,因为编译器试图只使用一个文件Main.go而不是所有文件来编译程序正确命令应该是
$ go run *.go
但是我不知道我能把这个放在哪里。
我还将GOPATH设置为:
export GOPATH=$HOME/Pulpit/EventServer
这也没什么帮助
代码
"主星,开始"
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello")
abcd := Data{"someone" , "1234567"}
fmt.Printf("dane w strukturze %s ", abcd.Name)
}
还有"数据“
package main
type Data struct {
Name string
Phone string
}
系统:LINUX
5条答案
按热度按时间svgewumm1#
您可以在Run/Debug Configurations中添加第二个文件(在您的例子中是Data.go)作为Go工具参数字段。https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/2013接近讨论的结尾。下面的例子(我使用了2个文件HelGo.go和aaa.go)对我很有效:
Go Run Configuration with 2 files
这两个文件中的Intellij对象在不同的文件夹中,所以它们必须是同一个包(主)。另一方面,我不能在这个页面上工作的任何建议。
sqyvllje2#
我用一个完整的检查列表解决了同样的问题。通常,有多个问题相互结合在一起。
首先,检查你的GOPATH设置,有两种方法:
1.使用命令行检查go环境:
你将得到一个全局环境设置,确保你的GO文件夹是正确的。2如果你正在使用一些本地包,也要注意它们。
1.请检查您的生成工具设置,是否已将所有资源文件添加到依赖项中。2这是设置项目GOPATH的另一种方法,并且不会影响全局设置。
其次,检查您的运行/调试配置,并确保您的设置已经找到了主包或主文件。无论您使用哪种配置,这总是开始。
gupuwyp23#
Sarp Kaya,只需按照Mbded步骤执行。附加步骤是,确保您的附加GOPATH应该在那里。
例如,这是
~/.profile GOPATH
go get进程等使用的第一个路径,而你的活动go开发目录则转到下一个路径。
根据我们的配置,RightApp的确切路径应为
$HOME/Development/Go/src/RightApp
。5cnsuln74#
**已解决--
步骤
for/example/MyProject/src/HERE_DIRECTORY_WITH_YOUR_SOURCE_GO_FILE
子目录中找到src很重要Run --> Edit Configurations
Run Kind
更改为Package
Package
中写入您的文件夹和您的代码(Shold be Highlight it is correct)Go Application
Go Application
my未命名vcirk6k65#
假设您有一个包含src/sub目录和两个. go文件的项目:go和typetest.go都定义了相同的包"main"。其中一个(hello. go)还实现了函数main()。
要使它作为一个整体进行编译,您需要确保正确配置了两件事:GOPATH和运行/调试配置。
打开项目库/GOPATH设置:
为了戈格兰
文件-〉设置-〉转到
对于IntelliJ IDEA
文件-〉设置-〉语言和框架-〉转到-〉转到库
确保项目的GOPATH如下所示:
GOPATH settings
接下来,打开Run-〉Edit Configurations,确保您的配置如下所示:
Run/Debug configuration