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 example2 func Add(a, b int) int { return a + b }
I wanted to import it in another file said "example1.go"
package main import ( "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 main import ( "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.