Получение значения ключа хранилища данных Google с помощью Go

У меня есть структура:

type struct Foo {
    Id ??
    Name string
}

Я получаю список того, что делает Foos, где "c" - это NewContext():

    q := datastore.NewQuery("Drug")
    var foos []Foo
    _, err := q.GetAll(c, &foos)

Идентификатор не заполняется, но имя заполняется. Я пытаюсь понять, как получить идентификатор для заполнения


person bmw0128    schedule 27.10.2014    source источник


Ответы (1)


Функция GetAll возвращает часть ключей:

keys, err := q.GetAll(c, &foos)

Ключ для foos[i] — это keys[i].

Используйте цикл для хранения идентификатора в объекте, если это то, что вам нужно:

for i := range keys {
   foos[i].ID = keys[i].IntID() // or .StringID()
}
person Community    schedule 27.10.2014