Documentation ¶
Index ¶
- Variables
- func Decode(input string) ([]byte, error)
- func DecodeBig(input string) (*big.Int, error)
- func DecodeUint64(input string) (uint64, error)
- func Encode(b []byte) string
- func EncodeBig(bigint *big.Int) string
- func EncodeUint64(i uint64) string
- func MustDecode(input string) []byte
- func MustDecodeBig(input string) *big.Int
- func MustDecodeUint64(input string) uint64
- func UnmarshalFixedJSON(typ reflect.Type, input, out []byte) error
- func UnmarshalFixedText(typname string, input, out []byte) error
- func UnmarshalFixedUnprefixedText(typname string, input, out []byte) error
- type Big
- type Bytes
- type Uint
- type Uint64
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrEmptyString = &decError{"empty hex string"} ErrSyntax = &decError{"invalid hex string"} ErrMissingPrefix = &decError{"hex string without 0x prefix"} ErrOddLength = &decError{"hex string of odd length"} ErrEmptyNumber = &decError{"hex string \"0x\""} ErrLeadingZero = &decError{"hex number with leading zero digits"} ErrUint64Range = &decError{"hex number > 64 bits"} ErrUintRange = &decError{fmt.Sprintf("hex number > %d bits", uintBits)} ErrBig256Range = &decError{"hex number > 256 bits"} )
错误
Functions ¶
func DecodeUint64 ¶
decodeuint64将前缀为0x的十六进制字符串解码为一个数量。
func MustDecodeBig ¶
mustdecodebig将前缀为0x的十六进制字符串解码为一个数量。 它会因输入无效而恐慌。
func MustDecodeUint64 ¶
mustdecodeuint64将前缀为0x的十六进制字符串解码为一个数量。 它会因输入无效而恐慌。
func UnmarshalFixedJSON ¶
unmarshalfixedjson将输入解码为带0x前缀的字符串。输出长度 确定所需的输入长度。此函数通常用于实现 固定大小类型的unmashaljson方法。
func UnmarshalFixedText ¶
unmarshalfixedtext将输入解码为带0x前缀的字符串。输出长度 确定所需的输入长度。此函数通常用于实现 为固定大小类型取消标记文本方法。
Example ¶
//<developer> // <name>linapex 曹一峰</name> // <email>linapex@163.com</email> // <wx>superexc</wx> // <qqgroup>128148617</qqgroup> // <url>https://jsq.ink</url> // <role>pku engineer</role> // <date>2019-03-16 12:09:32</date> //</624342609225060352> package main import ( "encoding/json" "fmt" "github.com/ethereum/go-ethereum/common/hexutil" ) type MyType [5]byte func (v *MyType) UnmarshalText(input []byte) error { return hexutil.UnmarshalFixedText("MyType", input, v[:]) } func (v MyType) String() string { return hexutil.Bytes(v[:]).String() } func main() { var v1, v2 MyType fmt.Println("v1 error:", json.Unmarshal([]byte(`"0x01"`), &v1)) fmt.Println("v2 error:", json.Unmarshal([]byte(`"0x0101010101"`), &v2)) fmt.Println("v2:", v2) // 输出: // v1错误:十六进制字符串的长度为2,MyType需要10 // V2错误:<nIL> // 版本2:0x0101010101 }
Output:
func UnmarshalFixedUnprefixedText ¶
unmarshalfixedUnprefixedText将输入解码为带可选0x前缀的字符串。这个 输出长度决定所需的输入长度。此函数通常用于 为固定大小类型实现UnmarshalText方法。
Types ¶
type Big ¶
大封送/取消封送作为带有0x前缀的JSON字符串。 零值封送为“0x0”。
此时不支持负整数。试图封送他们将 返回一个错误。大于256位的值将被取消标记拒绝,但将 已正确封送。
func (Big) MarshalText ¶
MarshalText实现Encoding.TextMarshaler
func (*Big) UnmarshalJSON ¶
unmashaljson实现json.unmasheler。
func (*Big) UnmarshalText ¶
UnmarshalText实现编码。textUnmarshaller
type Bytes ¶
type Bytes []byte
字节封送/取消封送为带0x前缀的JSON字符串。 空切片封送为“0x”。
func (Bytes) MarshalText ¶
MarshalText实现Encoding.TextMarshaler
func (*Bytes) UnmarshalJSON ¶
unmashaljson实现json.unmasheler。
func (*Bytes) UnmarshalText ¶
UnmarshalText实现encoding.textUnmarshaller。
type Uint ¶
type Uint uint
零值封送为“0x0”。
func (Uint) MarshalText ¶
MarshalText实现Encoding.TextMarshaler。
func (*Uint) UnmarshalJSON ¶
unmashaljson实现json.unmasheler。
func (*Uint) UnmarshalText ¶
UnmarshalText实现encoding.textUnmarshaller。
type Uint64 ¶
type Uint64 uint64
uint64以带有0x前缀的JSON字符串封送/取消封送。 零值封送为“0x0”。
func (Uint64) MarshalText ¶
MarshalText实现Encoding.TextMarshaler。
func (*Uint64) UnmarshalJSON ¶
unmashaljson实现json.unmasheler。
func (*Uint64) UnmarshalText ¶
UnmarshalText实现编码。textUnmarshaller