func String(key string, val string) Field {
	return Field{key: key, fieldType: stringType, str: val}
}
String constructs a Field with the given key and value.
package zap
import (
	"encoding/base64"
	"fmt"
	"math"
	"time"
)
type fieldType int
const (
	unknownType fieldType = iota
	boolType
	floatType
	intType
	int64Type
	uintType
	uint64Type
	uintptrType
	stringType
	marshalerType
	objectType
	stringerType
	errorType
	skipType
)
type Field struct {
	key       string
	fieldType fieldType
	ival      int64
	str       string
	obj       interface{}
}
func Skip() Field {
	return Field{fieldType: skipType}
}
func Base64(key string, val []byte) Field {
	return String(key, base64.StdEncoding.EncodeToString(val))
}
func Bool(key string, val bool) Field {
	var ival int64
	if val {
		ival = 1
	}
	return Field{key: key, fieldType: boolType, ival: ival}
}
func Float64(key string, val float64) Field {
	return Field{key: key, fieldType: floatType, ival: int64(math.Float64bits(val))}
}
func Int(key string, val int) Field {
	return Field{key: key, fieldType: intType, ival: int64(val)}
}
func Int64(key string, val int64) Field {
	return Field{key: key, fieldType: int64Type, ival: val}
}
func Uint(key string, val uint) Field {
	return Field{key: key, fieldType: uintType, ival: int64(val)}
}
func Uint64(key string, val uint64) Field {
	return Field{key: key, fieldType: uint64Type, ival: int64(val)}
}
func Uintptr(key string, val uintptr) Field {
	return Field{key: key, fieldType: uintptrType, ival: int64(val)}
}