Golang 如何使用其他包中的函数
我们知道,Golang中的每一段代码都存在于一个包中,这个包可以是可执行包,也可以是实用包。可执行包的名字通常是 main ,而实用包的名字可以是任何东西,在大多数情况下,它是文件夹的名字。
假设我们有一个目录结构,看起来像这样。
.
|-- greet
| `-- greet.go
|-- sample
| `-- sample.go
我们有两个目录,即 greet 和 sample ,每个目录中都包含一个 .go 文件。现在,我们想利用存在于 greet 目录中的一个函数。
要从不同的包中访问任何特定的函数,第1步是检查该函数是否真的被导出,为此,我们只需要确保该函数的名称是否大写。
例如,如果我们想使用一个叫做 greetings() 的函数,那么如果该函数的名称是小写的,我们就不能这样做。如果我们把它变成 Greetings() ,那么我们就可以在调用该函数之前加上包的名字来访问它。
下一步是在我们要使用的代码中导入该包。我们可以在Go程序中的import语句中 导入 包,只要确保在 GOPATH 变量后面写上整个名称即可。
现在,让我们检查一下 greet.go 文件里面的代码。
例子1
考虑一下下面的代码。
package greet
import "fmt"
// Greeting ...
func Greeting() {
fmt.Println("Welcome to TutorialsPoint!")
}
下一步是在 sample.go 文件中使用 greet 包的 Greeting () 函数。
输出
如果我们在上述代码上运行命令 go run main.go ,那么我们将在终端得到以下输出。
Welcome to TutorialsPoint!
例2
考虑一下下面的代码。
package main
import (
greet "data-structures/recursion/greet"
"fmt"
)
func main() {
fmt.Println("Inside main")
greet.Greeting()
}
输出
如果我们在上述代码上运行命令 go run main.go ,那么我们将在终端得到以下输出。
Inside main
Welcome to TutorialsPoint!