简体   繁体   中英

Cannot find imported package in 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?

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...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM