首頁 > 後端開發 > Golang > 如何在 Google Cloud Functions 中有效建構 Go 程式碼的子包?

如何在 Google Cloud Functions 中有效建構 Go 程式碼的子包?

Patricia Arquette
發布: 2024-12-18 05:30:18
原創
669 人瀏覽過

How Can I Effectively Structure Subpackages for Go Code in Google Cloud Functions?

在 Google Cloud Functions 上建置 Go 子套件

部署 Go Cloud Functions 通常需要在多個函數之間共用輔助邏輯。為了優化這一點,可以利用子套件來組織同一專案中的共享程式碼。

解決方案:Go 模組和子包

Go 模組提供了一個依賴管理系統,可以使公共導入路徑前綴下的包的定義。這允許模組內的函數使用導入的路徑存取子包。

檔案結構:

以下是在雲端函數中引用子套件的範例檔案結構:

.
├── cmd
│   └── main.go # Testing/debugging entry point
├── function.go # Imports and uses example.com/foo/helperpackage
├── function_test.go
├── go.mod # Module: example.com/foo
└── helperpackage
    └── helper.go
登入後複製

導入子包:

在function.go中,可以使用以下方式匯入輔助套件:

import example.com/foo/helperpackage
登入後複製

測試:

cmd 目錄可用於本地測試。 main 函數可以匯入example.com/foo 並將函數註冊為HTTP 處理程序:

package main

import (
    "log"
    "net/http"

    "example.com/foo"
)

func main() {
    http.Handle("/HelloHTTP", foo.HelloHTTP)
    log.Fatal(http.ListenAndServe(":8080", nil))
}
登入後複製

替代方法(不建議):

使用供應商目錄也可以用於子包共享,但是需要將所有導入的包及其完整導入路徑複製到該目錄中,這可能很麻煩並且灰心喪氣。

以上是如何在 Google Cloud Functions 中有效建構 Go 程式碼的子包?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板