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  }