首页 > 解决方案 > 在 Golang 中找不到导入的包

问题描述

我正在尝试学习 Golang,但我遇到了初学者问题。

我创建了两个文件“helloworld.go”和“greetings.go”。我正在尝试将 greetings.go 导入 helloworld.go 使用

import (
    "test/greetings/greetings"
)

但我收到以下错误:

在以下任何位置都找不到包“test/greetings/greetings”:C:\Go\src\test\greetings\greetings(来自 $GOROOT)C:\work\go-ws\src\test\greetings\greetings(来自 $ GOPATH) 退出状态 1

我使用的是 Windows 操作系统,我的 GOPATH 和 GOROOT 值如下:

"GOPATH": "C:/work/go-ws"
"GOROOT": "C:/Go"

我的项目结构如图:

C:
--work
   -- go-ws
      -- anlytics
          -- src
              -- test
                  -- greetings
                       **greetings.go**
                  **helloworld.go**
          -- pkg
          -- bin

我哪里错了?

标签: go

解决方案


要使用 greetings.go 中的“Salutation”结构,我必须将 greet 包附加到变量中。而不是 'Salutation',你可以将它与 greet.Salutation 一起使用。

我的 greetigs.go 文件

package greet

import "fmt"

type Salutation struct {
    Name     string
    Greeting string
}
...

所以要在我的 helloworld.go 中使用它,我将 greet 附加到变量中,如下所示

package main

import (
    "test/greetings"
)

func main() {

    var s = greet.Salutation{"Bob", "Hello"}
}

它有效...


推荐阅读