Mode:
Duration:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main
import "fmt"
type Event struct {
Type string
Amount int
}
func main() {
eventStore := []Event{}
eventStore = append(eventStore, Event{Type: "AccountCreated", Amount: 100})
eventStore = append(eventStore, Event{Type: "MoneyDeposited", Amount: 50})
eventStore = append(eventStore, Event{Type: "MoneyWithdrawn", Amount: 30})
balance := 0
for _, event := range eventStore {
switch event.Type {
case "AccountCreated":
balance = event.Amount
case "MoneyDeposited":
balance += event.Amount
case "MoneyWithdrawn":
balance -= event.Amount
}
}
fmt.Println("Current Balance:", balance)
}Coding works best on desktop or with an external keyboard.