From 0a2a722620a92bf70fc99258bb8c868737978937 Mon Sep 17 00:00:00 2001 From: Archer Fox Date: Sun, 16 Mar 2025 00:01:50 +0300 Subject: [PATCH] Type functions --- go-demo-4/main.go | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/go-demo-4/main.go b/go-demo-4/main.go index fe05c5d..14b0041 100644 --- a/go-demo-4/main.go +++ b/go-demo-4/main.go @@ -9,6 +9,12 @@ import ( "github.com/fatih/color" ) +var menu = map[string]func(*account.VaultWithDb){ + "1": createAccount, + "2": findAccount, + "3": deleteAccount, +} + func main() { // fmt.Println(output.Sum(100, 42)) // fmt.Println(output.Sum(10.7, 3.14)) @@ -24,16 +30,21 @@ Menu: "4. Выход", "Выберите вариант", }) - switch variant { - case "1": - createAccount(vault) - case "2": - findAccount(vault) - case "3": - deleteAccount(vault) - default: + menuFunc := menu[variant] + if menuFunc == nil { break Menu } + menuFunc(vault) + // switch variant { + // case "1": + // createAccount(vault) + // case "2": + // findAccount(vault) + // case "3": + // deleteAccount(vault) + // default: + // break Menu + // } } }