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  }