本文整理匯總了Golang中database/sql/driver.Valuer.Value方法的典型用法代碼示例。如果您正苦於以下問題:Golang Valuer.Value方法的具體用法?Golang Valuer.Value怎麽用?Golang Valuer.Value使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類database/sql/driver.Valuer
的用法示例。
在下文中一共展示了Valuer.Value方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: appendDriverValuer
func appendDriverValuer(b []byte, v driver.Valuer, quote bool) []byte {
value, err := v.Value()
if err != nil {
panic(err)
}
return Append(b, value, quote)
}
示例2: appendDriverValueRaw
func appendDriverValueRaw(dst []byte, v driver.Valuer) []byte {
value, err := v.Value()
if err != nil {
log.Printf("%#v value failed: %s", v, err)
return nil
}
return appendIfaceRaw(dst, value)
}
示例3: callValuerValue
// callValuerValue returns vr.Value(), with one exception:
// If vr.Value is an auto-generated method on a pointer type and the
// pointer is nil, it would panic at runtime in the panicwrap
// method. Treat it like nil instead.
// Issue 8415.
//
// This is so people can implement driver.Value on value types and
// still use nil pointers to those types to mean nil/NULL, just like
// string/*string.
//
// This function is mirrored in the database/sql/driver package.
func callValuerValue(vr driver.Valuer) (v driver.Value, err error) {
if rv := reflect.ValueOf(vr); rv.Kind() == reflect.Ptr &&
rv.IsNil() &&
rv.Type().Elem().Implements(valuerReflectType) {
return nil, nil
}
return vr.Value()
}
示例4: appendDriverValuer
func appendDriverValuer(dst []byte, v driver.Valuer) []byte {
value, err := v.Value()
if err != nil {
log.Printf("%T value failed: %s", v, err)
return appendNull(dst)
}
return appendIface(dst, value)
}
示例5: appendDriverValuer
func appendDriverValuer(b []byte, v driver.Valuer, quote bool) []byte {
value, err := v.Value()
if err != nil {
log.Printf("%T value failed: %s", v, err)
return appendNull(b, quote)
}
return appendIface(b, value, quote)
}