나는 같이 데이터 저장소 개체가.이동 구글 데이터 저장소 널 (null)은
error caught: datastore: cannot load field "guid" into a "main.Edge": no such struct field
Key=/edges,4503602429165568
Edge=main.Edge{created:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}, details:"", guid:"", start:"", end:""}
내가 데이터 저장소 콘솔에서 해당 키를 검색, 내가 볼 :
type Edge struct {
created time.Time
details string `datastore: "details,omitempty"`
guid string `datastore: "guid,omitempty"`
start string `datastore: "start,omitempty"`
end string `datastore: "end,omitempty"`
}
for t := client.Run(ctx, q); ; {
var x Edge
key, err := t.Next(&x)
if err == iterator.Done {
break
}
if err != nil {
fmt.Printf("error caught: %v\n\n", err)
}
fmt.Printf("Key=%v\nEdge=%#v\n\n", key, x)
}
출력 오류가 항상 같은 것입니다 : 이동에
, 나는이 일을 시도하고있다guid
은 유효한
string
입니다.
GetAll
거의 같은 문제가 발생했습니다.
내 질문은 :
- 내가 이동하는 새입니다. 내가 여기서 잘못하고있는 것이 있습니까? (어떤 오타가 Stackoverflow 특정 것입니다. 내가 여기에 몇 가지를 변경했기 때문에)
- 어쨌든 구조체에 넣기 전에 어떤 데이터 저장소가 전송되는지 확인해야합니까?
- 일부 값은
null
일 때가 있습니다.start
,end
및details
과 같이 구조체에서string
에 유효합니까?
감사합니다. 바로 눈에 띄는
그게 전부 였어! 질문을 따르십시오 : 동일한 태그에서 noindex와 omitempty를 가질 수있는 방법이 있습니까? – Chemdream
@ 화학자 쉼표로 쉼표로 구분하십시오. 'datastore : "end, omitempty, noindex"', 그러나 그것이 지원된다면 문서를 참고하십시오. – icza