Go解析【メモリキャッシュ】のデータの読み出しを実現

5533 ワード

目次

  • 関数1
  • 関数二
  • はJSON構造体のインタフェース
  • を返す.
  • 実現効果
  • 関数1


    実行スクリプトを読み込んでメモリに一時保存したJSONデータは、Bufferバッファに戻ります.
    func cmd() bytes.Buffer {
    	//test  , JSON 
    	cmd := exec.Command("/home/project/test","-j")
    	var out bytes.Buffer
    	cmd.Stdout = &out
    	err := cmd.Run()
    	if err != nil {
    		fmt.Printf("Command finished with error: %v
    "
    , err) } //cmd.Process.Release() return out }

    関数2


    バイト配列をJSONデータに変換するには:
    type JsonStruct struct {
    }
    
    func NewJsonStruct() *JsonStruct {
    	return &JsonStruct{}
    }
    
    func (jst *JsonStruct) Load(data []byte, v interface{}) {
    	// json , 
    	err := json.Unmarshal(data, v)
    	if err != nil {
    		return
    	}
    }
    

    JSON構造体のインタフェースに戻る

    type Info struct {
    	Name string `json:"name"`
    	Sex bool `json:"sex"`
    	Hobbies []string `json:"hobbies"`
    }
    func ReadCmd() (v *Info) {
    	data := cmd()
    	Load(data.Bytes(), &v)
    	return v
    }
    

    効果の実現

    ReadCmdインタフェースを呼び出すと、実行可能ファイルがメモリに出力されたJSONデータの読み取り、分析が可能になります.