Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea 加入IntelliJ的想法。多个文件和错误未定义:数据_Intellij Idea_Go - Fatal编程技术网

Intellij idea 加入IntelliJ的想法。多个文件和错误未定义:数据

Intellij idea 加入IntelliJ的想法。多个文件和错误未定义:数据,intellij-idea,go,Intellij Idea,Go,我想使用IntelliJ IDE社区版在GO(GoLang)中编写代码。我安装了正确的插件,安装了构建应用程序所需的所有工具。 我的应用程序包含以下两个文件。每个都位于direcytory../EventServer中 梅因,加油 Data.go 如果我想使用函数run(Ctlr+Shift+F10)从IntelliJ运行项目,并且我得到下面的错误 /usr/lib/go/bin/go build -o "/tmp/Build Main.go and run0go" -gcflags "-N

我想使用IntelliJ IDE社区版GO(GoLang)中编写代码。我安装了正确的插件,安装了构建应用程序所需的所有工具。 我的应用程序包含以下两个文件。每个都位于direcytory../EventServer中

  • 梅因,加油
  • 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
我可以毫无问题地使用project和execution命令从终端编译代码到direcytory

:~/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
这也无济于事

代码

Main.go

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

}
数据。转到

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

已解决---------------------------------------------已解决-----------------

台阶

  • 项目必须在目录
    中找到,例如/example/MyProject/src/HERE\u目录\u带有\u您的\u SOURCE\u GO\u文件
    次级目录src很重要
  • 转到
    运行-->编辑配置
  • 找到下面的位置

  • 运行种类
    更改为
  • 在位置
    Package
    用代码写下你的文件夹(应该突出显示它是正确的)
  • 单击左上角的加号图标,然后添加
    Go应用程序
  • 应用更改
  • 在右上角的主窗口IDE中,您可以看到小图标播放

  • 选择了早期定义的
    Go应用程序
    my is Unamed
  • 点击播放
  • A:D

    • Sarp Kaya,只需遵循MBED步骤即可。附加步骤是,确保您的附加路径应该在那里

      例如,这是我们的
      ~/.profile GOPATH

      export GOPATH=$HOME/lib/Go:$HOME/Development/Go
      
      go get进程等使用的第一条路径,而您的active go开发目录将转到下一条路径


      根据我们的配置,RightApp的确切路径应该是
      $HOME/Development/Go/src/RightApp

      假设您有一个包含src/sub目录和两个.Go文件的项目:hello.Go和typetest.Go,它们都定义了相同的包“main”。其中一个(hello.go)还实现了func main()

      要使它作为一个整体进行编译,您需要确保正确配置了两件事:GOPATH和Run/Debug配置

      打开项目库/GOPATH设置:

      对于Gogland

      文件->设置->开始

      对于Intellij IDEA

      文件->设置->语言和框架->转到->转到库

      确保项目的GOPATH如下所示:

      接下来,打开运行->编辑配置,并确保您的配置与此类似:

      您可以在运行/调试配置中添加第二个文件(在您的案例Data.go中)作为go工具参数字段。我在这里读到:讨论快结束了。下面的示例(我使用了两个文件HelGo.go和aaa.go)对我有效:

      这两个文件中的Intellij对象位于不同的文件夹中,因此它们必须是同一个包(main)。
      另一方面,我根本无法在这一页上提出任何建议

      谢谢你!已经能够使用调试器了吗?是的。我经常使用调试器。如果我记得很清楚,我对他的设置没有任何影响,只是起作用,但对我来说,
      go
      的调试器有点微不足道,但起作用,可能将来会有变化。如果我帮你,请给我投票:)对我来说,这是说在你的情况下找不到包裹RightApp包裹找不到你让我开心。轰。在Intellij和Gogland中对我进行了修复