| 123456789101112131415161718192021222324252627282930 | package typesimport (	"database/sql/driver")// BitBool is an implementation of a bool for the MySQL type BIT(1).// This type allows you to avoid wasting an entire byte for MySQL's boolean type TINYINT.type BitBool bool// Value implements the driver.Valuer interface,// and turns the BitBool into a bitfield (BIT(1)) for MySQL storage.func (b BitBool) Value() (driver.Value, error) {	if b {		return []byte{1}, nil	}	return []byte{0}, nil}// Scan implements the sql.Scanner interface,// and turns the bitfield incoming from MySQL into a BitBoolfunc (b *BitBool) Scan(src interface{}) error {	v, ok := src.([]byte)	if !ok {		*b = false		return nil	}	*b = v[0] == 1	return nil}
 |