a3d46d52a8
test / release-check (push) Has been skipped
test / 1.25/macos-14 (push) Has been cancelled
test / 1.25/macos-latest (push) Has been cancelled
test / 1.25/ubuntu-latest (push) Has been cancelled
test / 1.25/windows-latest (push) Has been cancelled
test / 1.26/macos-14 (push) Has been cancelled
test / 1.26/macos-latest (push) Has been cancelled
test / 1.26/ubuntu-latest (push) Has been cancelled
test / 1.26/windows-latest (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
38 lines
519 B
Go
38 lines
519 B
Go
package toml_test
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"strconv"
|
|
|
|
"git.ostiwe.com/ostiwe/go-toml/v2"
|
|
)
|
|
|
|
type customInt int
|
|
|
|
func (i *customInt) UnmarshalText(b []byte) error {
|
|
x, err := strconv.ParseInt(string(b), 10, 32)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*i = customInt(x * 100)
|
|
return nil
|
|
}
|
|
|
|
type doc struct {
|
|
Value customInt
|
|
}
|
|
|
|
func ExampleUnmarshal_textUnmarshal() {
|
|
var x doc
|
|
|
|
data := []byte(`value = "42"`)
|
|
err := toml.Unmarshal(data, &x)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
fmt.Println(x)
|
|
// Output:
|
|
// {4200}
|
|
}
|