/typeconv

Provides conversion from a string to specific Go type

Primary LanguageGoApache License 2.0Apache-2.0

GoDoc Go Report Card License

cnv

Provides conversion from a string to specific Go type

Example

package main

import (
        "fmt"
        "log"
        "strings"

        "github.com/ake-perssson/typecnv"
)

type Person struct {
        FirstName  string
        MiddleName string
        LastName   string
}

func (p *Person) Parse(s string) error {
        a := strings.Split(s, " ")
        if len(a) > 2 {
                p.FirstName = a[0]
                p.MiddleName = a[1]
                p.LastName = a[2]
        } else if len(a) > 1 {
                p.FirstName = a[0]
                p.LastName = a[2]
        } else {
                p.FirstName = a[0]
        }
        return nil
}

func main() {
        var i int8
        if err := cnv.Parse("123", &i); err != nil {
                log.Fatal(err)
        }
        fmt.Printf("int8: %v\n", i)

        var b bool
        if err := cnv.Parse("true", &b); err != nil {
                log.Fatal(err)
        }
        fmt.Printf("bool: %v\n", b)

        var p Person
        if err := cnv.Parse("John Sam Doe", &p); err != nil {
                log.Fatal(err)
        }
        fmt.Printf("First: %s Middle: %s Last: %s\n", p.FirstName, p.MiddleName, p.LastName)
}