何らかの理由でブールデータをGoogleAppsデータストアに保存しようとすると、常にfalseとして保存されます。
私のエンティティ定義は次のようになります。
type Link struct {
Name string //Coloquial label for link. Set by original User.
...
isOpen bool //Tells us whether anyone can rewrite the link. Set by original User.
isPerminant bool //Tells us whether link should be saved forever.
isFlagged bool //Tells us whether the content has ever been flagged inappropriate.
}
オブジェクトを作成し、次のように値を割り当てます。
//Create Link from form data
l := Link{
Name: r.FormValue("name"),
...
isOpen: r.FormValue("open")=="on",
isPerminant: r.FormValue("perminant")=="on",
isFlagged: r.FormValue("flagged")=="on",
}
次のコマンドを実行してデータを確認します。
//Put the Link in the datastore
lKey, err := datastore.Put(c, datastore.NewIncompleteKey(c, "Link", nil), &l)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
var newLink Link
if err = datastore.Get(c, lKey, &newLink); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
newLink output value: {[name] ... false false false}
is [...]プロパティの1つに真の値をハードコーディングしても、それらはすべてfalseのままです。WHHHHHHYYYY ???