如何在 Golang 中使用其他包的函式?


我們知道,Golang 中的每個程式碼都存在於一個包中,它可以是可執行包或實用程式包。可執行包的名稱通常是 **main**,而實用程式包的名稱可以是任何名稱,在大多數情況下,它都是資料夾的名稱。

假設我們有一個看起來像這樣的目錄結構。

.
|-- greet
|    `-- greet.go
|-- sample
|    `-- sample.go

我們有兩個目錄,即 **greet** 和 **sample**,並且每個目錄在其內部都包含一個 **.go** 檔案。現在,我們想使用 **greet** 目錄中存在的函式。

訪問來自不同包的任何特定函式的第一步是檢查該函式是否確實已匯出,為此,我們只需要確保函式的名稱是否已大寫。

例如,如果我們想使用名為 **greetings()** 的函式,那麼如果函式的名稱是小寫,我們就無法這樣做。如果我們將其更改為 **Greetings()**,那麼我們就可以透過在呼叫函式之前加上包的名稱來訪問它。

下一步是在我們要使用它的程式碼中匯入該包。我們可以在 Go 程式的 import 語句中 **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!

更新於: 2022-02-21

4K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告