github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/go-xorm/core/pk.go (about) 1 package core 2 3 import ( 4 "bytes" 5 "encoding/gob" 6 ) 7 8 type PK []interface{} 9 10 func NewPK(pks ...interface{}) *PK { 11 p := PK(pks) 12 return &p 13 } 14 15 func (p *PK) ToString() (string, error) { 16 buf := new(bytes.Buffer) 17 enc := gob.NewEncoder(buf) 18 err := enc.Encode(*p) 19 return buf.String(), err 20 } 21 22 func (p *PK) FromString(content string) error { 23 dec := gob.NewDecoder(bytes.NewBufferString(content)) 24 err := dec.Decode(p) 25 return err 26 }