cnv

package module
v0.0.0-...-165a1a0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2021 License: Apache-2.0 Imports: 4 Imported by: 1

README

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)
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotAPointer variable is not a pointer.
	ErrNotAPointer = errors.New("not a pointer")

	// ErrUnsupportedType variable is of unsupported type.
	ErrUnsupportedType = errors.New("unsupported type")
)

Functions

func Parse

func Parse(s string, p interface{}) error

Parse string to Go type or Converter interface.

func ParseBool

func ParseBool(s string, p *bool) error

ParseBool parse string boolean.

func ParseFloat32

func ParseFloat32(s string, p *float32) error

ParseFloat32 parse string 32 bit float.

func ParseFloat64

func ParseFloat64(s string, p *float64) error

ParseFloat64 parse string 64 bit float.

func ParseInt

func ParseInt(s string, p *int) error

ParseInt parse string integer.

func ParseInt16

func ParseInt16(s string, p *int16) error

ParseInt16 parse string 16 bit integer.

func ParseInt32

func ParseInt32(s string, p *int32) error

ParseInt32 parse string 32 bit integer.

func ParseInt64

func ParseInt64(s string, p *int64) error

ParseInt64 parse string 64 bit integer.

func ParseInt8

func ParseInt8(s string, p *int8) error

ParseInt8 parse string 8 bit integer.

func ParseTime

func ParseTime(s string, p *time.Time) error

ParseTime parse string time.

func ParseUint

func ParseUint(s string, p *uint) error

ParseUint parse string unsigned integer.

func ParseUint16

func ParseUint16(s string, p *uint16) error

ParseUint16 parse string 16 bit unsigned integer.

func ParseUint32

func ParseUint32(s string, p *uint32) error

ParseUint32 parse string 32 bit unsigned integer.

func ParseUint64

func ParseUint64(s string, p *uint64) error

ParseUint64 parse string 64 bit unsigned integer.

func ParseUint8

func ParseUint8(s string, p *uint8) error

ParseUint8 parse string 8 bit unsigned integer.

Types

type Converter

type Converter interface {
	Parse(s string) error
}

Converter interface for custom type conversion.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL