Go 和 Gogland 的一些技巧

Some tips with Go and Gogland

大家好。我对 Go 和 Gogland 很陌生。我有一个项目

  1. 我选择 "Run kind" 作为包 - 运行 不仅是主文件,还有一个项目。为什么找不到主包??
  2. 如何导入util.myprinter包到main.go来使用??

请帮帮我

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

D:
|-- go_projects
|    |-- bin
|    |-- pkg
|    |-- src 
|    |    |-- FirstSteps
|    |    |    |-- main.go
|    |    |    +-- util
|    |    |         +-- myprinter.go
|    |    |-- SecondProject
|    |    |-- ThirdProject
...

其次,您的 import 语句似乎是空的,我不知道 GoLand 是如何工作的,但是如果您想使用 myprinter.go 文件中的任何内容,则需要导入 util 包,假设 myprinter.go 文件在顶部将其 package 声明为 util

// FirstSteps/main.go
package main

import (
    "FirstSteps/util"
)

func main() {
    util.MyPrinterFunc()
}

当然,要能够使用 util 中的任何东西,首先必须有一些东西...

// FirstSteps/util/myprinter.go
package util

func MyPrinterFunc() {
    // do stuff...
}

编辑:对不起,我一开始并没有真正回答你的问题。由于我已经提到的错误工作区设置,您收到错误 Cannot find package 'main'Package path 告诉 GoLand 您想要 运行 的包在 相对 $GOPATH/src 目录的位置。因此,在正确设置工作空间后,应将 Package path 设置为 FirstSteps,因为该包的绝对路径将为 $GOPATH/src/FirstSteps。如果稍后您想要 运行 util 包,您可以将 Package path 指定为 FirstSteps/util 以便 GoLand 能够找到它。