dongwei1263 2018-08-17 11:40
浏览 300

在Golang中找不到导入的软件包

I am trying to learn Golang, and I have a beginners issue.

I created two files "helloworld.go" and "greetings.go". I am trying to import greetings.go into helloworld.go using

import (
    "test/greetings/greetings"
)

But I get the following error:

cannot find package "test/greetings/greetings" in any of: C:\Go\src\test\greetings\greetings (from $GOROOT) C:\work\go-ws\src\test\greetings\greetings (from $GOPATH) exit status 1

I am using a windows OS and my GOPATH and GOROOT values are as follows:

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

My project structure is as shown:

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

Where am I going wrong?

  • 写回答

1条回答 默认 最新

  • duanqiongdu9916 2018-08-24 04:16
    关注

    To use the 'Salutation' struct from the greetings.go, I had to append the greet package to the variable. Instead of 'Salutation', you use it with greet.Salutation.

    My greetigs.go file

    package greet
    
    import "fmt"
    
    type Salutation struct {
        Name     string
        Greeting string
    }
    ...
    

    So to use it in my helloworld.go, I append greet to the variable as follows

    package main
    
    import (
        "test/greetings"
    )
    
    func main() {
    
        var s = greet.Salutation{"Bob", "Hello"}
    }
    

    And it works...

    评论

报告相同问题?