示例#1
0
文件: value.go 项目: 8l/go-learn
// NewValue returns a new Value initialized to the concrete value
// stored in the interface i.  NewValue(nil) returns nil.
func NewValue(i interface{}) Value {
	if i == nil {
		return nil
	}
	t, a := unsafe.Reflect(i)
	return newValue(toType(t), addr(a), true)
}
示例#2
0
文件: value.go 项目: richlowe/gcc
// NewValue returns a new Value initialized to the concrete value
// stored in the interface i.  NewValue(nil) returns nil.
func NewValue(i interface{}) Value {
	if i == nil {
		return nil
	}
	t, a := unsafe.Reflect(i)
	return newValue(canonicalize(toType(t)), addr(a), canSet|canAddr|canStore)
}
示例#3
0
文件: data.go 项目: tierney/golisp
func (self *Custom) GoString() string {
	_, addr := unsafe.Reflect(self)
	return fmt.Sprintf("#<%s: %x>", self.name, uintptr(addr))
}