2013-04-20 19 views
6

私はキャッシュにデータを格納するために「AppEngineの/ memcacheの」を使用しようとしている、 memcache.Itemの値フィールドは、[]バイト、私はそれを保存するために[]バイトに構造体を変換しない方法Go:構造体を[]バイトに変換する方法は?

のですか?例えば

type Link struct { 
    Files []string 
} 

答えて

9

memcache.Codecタイプを参照してください。memcacheアイテムを変換するために使用できます。 appengine/memcacheパッケージには、既に用意されている2つのコーデックmemcache.Gobとmemcache.JSONがあります。

item := &memcache.Item{ 
     Key: myCacheKey, 
     Object: &myLinkVar, 
    } 
    err := memcache.Gob.Set(context, item) 
+0

この例では、「コンテキスト」とは何ですか。この例では、「コンテキスト」とは何ですか。 –

2

encoding/gobパッケージは、おそらくあなたの最良の選択肢です。

encoding/jsonパッケージを使用することもできます。

encoding/jsonを使用すると、Go以外の言語の値を読み取ることができるという利点があります。

encoding/gobを使用すると、速度が向上します。

関連する問題