Go和Gogland的一些提示

tra*_*tor 4 ide jetbrains-ide go goland

大家好.Go和Gogland对我很新.我有一个项目 去Gogland的项目

  1. 我选择"运行类"作为包 - 不仅运行主文件而且运行项目.为什么找不到主包?
  2. 如何将util.myprinter包导入main.go来使用它?

请帮我

mko*_*iva 9

首先,Go 工作区的一般结构似乎是错误的.你需要让它看起来更像这样:

D:
|-- go_projects
|    |-- bin
|    |-- pkg
|    |-- src 
|    |    |-- FirstSteps
|    |    |    |-- main.go
|    |    |    +-- util
|    |    |         +-- myprinter.go
|    |    |-- SecondProject
|    |    |-- ThirdProject
...
Run Code Online (Sandbox Code Playgroud)

其次你的import声明似乎是空的,我不知道如何goglang的作品,但如果你想使用什么是你的myprinter.go文件,你将需要导入util包,假设该myprinter.go文件宣称其packageutil在顶部.

// FirstSteps/main.go
package main

import (
    "FirstSteps/util"
)

func main() {
    util.MyPrinterFunc()
}
Run Code Online (Sandbox Code Playgroud)

当然,为了能够从util那里使用任何东西首先必须是...

// FirstSteps/util/myprinter.go
package util

func MyPrinterFunc() {
    // do stuff...
}
Run Code Online (Sandbox Code Playgroud)

编辑:对不起,我最初没有回答你的问题.Cannot find package 'main'由于我已经提到过错误的工作区设置,您收到错误.该Package path告诉Gogland要运行包是相对$GOPATH/src目录.因此,在正确设置了wrokspace之后,应该设置为Package path,FirstSteps因为该包的绝对路径将是$GOPATH/src/FirstSteps.如果,以后,你要运行util,你会指定包Package path作为FirstSteps/util对gogland能够找到它.