首页 > 代码库 > First glance in Go

First glance in Go

Because I forgot to install the Chinese input in this OS, I have to use English input.

The first problem which I ran into is "how to import the local file in Golang"

First, it may be my fault but I really didn‘t see any documents say that if you want to import a local file in another Go file, you should create a folder to put the imported file. Below is my case:

I created a file said "example2.go", then typed some codes:

package example2func Add(a, b int) int {    return a + b}

I wanted to import it in another file said "example1.go"

package mainimport (        "fmt"        "./example2"       )func main() {    fmt.Println("Hello Go!")    fmt.Println(example2.Add(1,2))}

when I tried to run the example1.go file, the go runtime threw an error said "couldn‘t find the example2". what‘s the problem? Is GOPATH not set? Is example2.go not compiled? Finally, I found it is the folder structure problem. My orignal folder structure likes this

Goworkspace- pkg- src    - example1.go    - example2.go- bin

But Go 1.4 doesn‘t support import a single file as a package. So I have to put the "example2.go" in a folder said "package2"

Goworkspace- pkg- src    - example1.go    - package2        - example2.go- bin

then change the code

package mainimport (        "fmt"        "package2"       )func main() {    fmt.Println("Hello Go!")    fmt.Println(example2.Add(1,2))}

it works. So it means a package always refers to a folder in the Golang.

 

First glance in Go