Overzicht van het online bankproject
Laten we eens praten over wat we gaan maken. Zoals eerder vermeld, maken we twee projecten: een voor de kernlogica van het programma en een voor het beschikbaar maken van logica via een web-API. Stel dat u nu deel uitmaakt van een team dat een online banksysteem bouwt.
De functies en vereisten definiƫren
De online bank die we gaan bouwen, is een bewijs van concept, waarmee wordt bepaald of het haalbaar is om het bankprogramma te bouwen. In deze eerste iteratie wordt de interactie met het kernpakket via een CLI-programma uitgevoerd. We hebben geen gebruikersinterface of behouden gegevens in een database. Als u de accountoverzicht van een klant wilt zien, wordt er een eindpunt weergegeven.
Het online banksysteem doet het volgende:
- Klanten in staat stellen een account te maken.
- Klanten in staat stellen geld in te trekken.
- Klanten in staat stellen geld over te dragen naar een ander account.
- Geef een accountoverzicht op met klantgegevens en een eindsaldo.
- Een web-API beschikbaar maken via een eindpunt om een accountinstructie af te drukken.
We bouwen dit programma samen, dus maak u voorlopig geen zorgen over de details.
De eerste projectbestanden maken
Laten we de eerste set bestanden maken die we nodig hebben voor het programma. We maken een Go-pakket voor alle bankkernlogica en een main
programma om het systeem te initialiseren met een paar klanten en acties zoals stortingen en overdrachten. Daarnaast start dit main
programma een web-API-server om een eindpunt beschikbaar te maken voor de accountinstructie.
Laten we de volgende bestandsstructuur maken in uw $GOPATH
map:
$GOPATH/
src/
bankcore/
go.mod
bank.go
bankapi/
go.mod
main.go
Om ervoor te zorgen dat we ons alleen kunnen richten op het schrijven van code in de juiste bestanden, gaan we beginnen met het schrijven van een Hello World!
programma dat bevestigt dat we het bankcore
pakket kunnen aanroepen vanuit het bankapi
hoofdprogramma.
Kopieer en plak het volgende codefragment in src/bankcore/bank.go
:
package bank
func Hello() string {
return "Hey! I'm working!"
}
We gebruiken Go-modules. Voeg src/bankcore/go.mod
de volgende inhoud toe om dit pakket een juiste naam te geven, zodat we er later naar kunnen verwijzen:
module github.com/msft/bank
go 1.14
Voeg vervolgens de volgende code toe om het bankcore
pakket aan te roepen in src/bankapi/main.go
:
package main
import (
"fmt"
"github.com/msft/bank"
)
func main() {
fmt.Println(bank.Hello())
}
In src/bankapi/go.mod
moeten we lokaal verwijzen naar de bankcore
pakketbestanden, zoals deze:
module bankapi
go 1.14
require (
github.com/msft/bank v0.0.1
)
replace github.com/msft/bank => ../bankcore
Als u wilt controleren of alles werkt, opent u een terminal in de $GOPATH/src/bankapi/
map en voert u de volgende opdracht uit:
go run main.go
U moet de volgende uitvoer zien:
Hey! I'm working!
Deze uitvoer bevestigt dat uw projectbestanden precies zoals ze moeten zijn ingesteld. Vervolgens gaan we beginnen met het schrijven van de code om de eerste set functies voor ons online banksysteem te implementeren.