線上銀行專案概述
讓我們談談要建立的內容。 如前所述,我們將建立兩個專案:一個處理程式的核心邏輯,另一個要透過 Web API 公開邏輯。 假設您現在是建立線上銀行系統的小組成員。
定義功能和需求
我們將要建立的線上銀行是一項概念證明,這會決定建立銀行程式的可行程度。 在第一個反覆項目中,將透過 CLI 程式與核心套件互動。 我們不會有使用者介面,也不會將資料保存在資料庫中。 我們會公開端點,客戶就能查看銀行帳戶對帳單。
線上銀行系統會:
- 讓客戶建立帳戶。
- 讓客戶提款。
- 讓客戶轉帳至其他帳戶。
- 提供包含客戶資料和期末餘額的銀行帳戶對帳單。
- 透過端點公開 Web API,以列印銀行帳戶對帳單。
我們會與您一起建立線上銀行,所以目前不用太擔心細節。
建立初始專案檔
讓我們建立程式所需的初始檔案集。 我們會建立一個包含所有銀行核心邏輯的 Go 套件和一個 main
程式,利用一些客戶和動作 (例如存款和轉帳) 將系統初始化。 而且,這個 main
程式會啟動 Web API 伺服器,公開銀行帳戶對帳單的端點。
讓我們在您的 $GOPATH
目錄中建立下列檔案結構:
$GOPATH/
src/
bankcore/
go.mod
bank.go
bankapi/
go.mod
main.go
然後,為確保能專心在適當的檔案中撰寫程式碼,讓我們開始撰寫一個 Hello World!
程式,確認可以從 bankapi
主程式呼叫 bankcore
套件。
將下列程式碼片段複製貼入 src/bankcore/bank.go
:
package bank
func Hello() string {
return "Hey! I'm working!"
}
我們將使用 Go 模組。 在 src/bankcore/go.mod
中新增下列內容以提供此套件合適的名稱,以便於稍後參考:
module github.com/msft/bank
go 1.14
然後新增下列程式碼,在 src/bankapi/main.go
中呼叫 bankcore
套件:
package main
import (
"fmt"
"github.com/msft/bank"
)
func main() {
fmt.Println(bank.Hello())
}
在 src/bankapi/go.mod
中,我們需要在本機參考 bankcore
套件檔案,如下所示:
module bankapi
go 1.14
require (
github.com/msft/bank v0.0.1
)
replace github.com/msft/bank => ../bankcore
為確保一切運作正常,請開啟 $GOPATH/src/bankapi/
目錄中的終端機執行下列命令:
go run main.go
您應該會看見下列輸出:
Hey! I'm working!
此輸出可確認您的專案檔設定是否符合預期。 接下來,我們要開始撰寫程式碼,實作我們線上銀行系統的初始功能集。