github.com/egonelbre/exp@v0.0.0-20240430123955-ed1d3aa93911/fields/03_compose/main.go (about) 1 package main 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "log" 7 "strings" 8 9 "github.com/egonelbre/exp/fields/testdata" 10 ) 11 12 func main() { 13 var err error 14 15 //gistsnip:start:main 16 config := &jsonConfig{} 17 err = json.NewDecoder(strings.NewReader(testdata.Basic)).Decode(config) 18 if err != nil { 19 log.Fatal(err) 20 } 21 22 var ( 23 alpha float64 24 gamma float64 25 beta uint 26 ) 27 28 err = config.Scan( 29 Float{"Alpha", &alpha}, 30 Float{"Gamma", &gamma}, 31 Uint{"Beta", &beta}, 32 ) 33 if err != nil { 34 log.Fatal(err) 35 } 36 37 fmt.Println(alpha + gamma) 38 //gistsnip:end:main 39 }