29 lines
403 B
Go
29 lines
403 B
Go
package types
|
|
|
|
import "fmt"
|
|
|
|
type Endian string
|
|
|
|
const (
|
|
BigEndian Endian = "big"
|
|
LittleEndian Endian = "little"
|
|
)
|
|
|
|
func (e *Endian) String() string {
|
|
return string(*e)
|
|
}
|
|
|
|
func (e *Endian) Set(s string) error {
|
|
switch s {
|
|
case "big", "little":
|
|
*e = Endian(s)
|
|
return nil
|
|
default:
|
|
return fmt.Errorf("不支持的字节序:%s", s)
|
|
}
|
|
}
|
|
|
|
func (e *Endian) Type() string {
|
|
return "Endian"
|
|
}
|