2012-12-07 51 views
5

Tôi có hai cấu trúc (NewDailyPrediction) với DailyPrediction cấu trúc là một trong những thực thể của New cấu trúc:Làm thế nào để lưu trữ một cấu trúc bên trong một cấu trúc trong đi?

type New struct { 
    Id string 
    DailyPrediction 
} 

type DailyPrediction struct { 
    Prediction string 
} 

Tôi không thể đọc (hoặc) viết cấu trúc mới trong kho dữ liệu. Sẽ rất hữu ích nếu ai đó có thể giúp tôi về điều này.

+0

Datastore? Một kho dữ liệu App Engine có thể? Nếu vậy, nó sẽ giúp gắn thẻ câu hỏi cho google-app-engine hoặc gae-datastore. – Sonia

+0

Tôi đã xóa thẻ công cụ ứng dụng vì câu hỏi dường như không liên quan trực tiếp đến công cụ ứng dụng. Có lẽ tôi đã hiểu sai câu hỏi? –

Trả lời

1

Không rõ ràng với tôi từ câu hỏi của bạn chính xác bạn đang làm gì với cấu trúc và theo cách nào nó không thành công. Tuy nhiên, trong khi bạn đang nhúng cấu trúc DailyPrediction vào cấu trúc mới của bạn bằng cách không cho nó một tên, nó vẫn cần được khởi tạo. Bạn có thể xem chi tiết về làm thế nào để làm điều đó ở đây: http://golang.org/doc/effective_go.html#embedding

Ví dụ, để khởi tạo struct mới, bạn có thể sử dụng một dòng như thế này:

n := New{"foo", DailyPrediction{"bar"}} 

Có thể đó là những gì đã mất tích?

+0

Cảm ơn rất nhiều ... Tôi không rõ ràng trong câu hỏi tôi đã đăng. Tôi đang thực sự tạo ra cấu trúc này để tạo ra một Json và lưu nó vào kho dữ liệu. Cấu trúc Json phải giống như {"Id": "20122403", "Dailypred": {"Dự đoán": "ABCD"}}. Vấn đề trong khi đọc Json là nó ném một lỗi - "SAVE kho dữ liệu: loại trường cấu trúc không được hỗ trợ: pcg_new.DailyPrediction" .. xin vui lòng giúp đỡ về điều này – Raj

+0

Tôi chỉ làm như sau: var jsonBlob = [] byte ('{" Id ":" meemaw "," Dự đoán ":" Moonpie "}'), và thành công đó chưa được sửa lại thành cấu trúc mà tôi đã tạo, trong đó cấu trúc DailyPrediction chứa chuỗi Dự đoán. Đó là những gì bạn đang tìm kiếm? – Derek

+0

Đừng bận tâm, tôi thấy rằng vấn đề không phải là nhận được json để đọc nó, nhưng appEngine để lưu trữ nó. Có vẻ như câu trả lời của @alphazero có liên quan hơn, điều này không được hỗ trợ. – Derek

1

Not supported bởi appengine.

+0

Nó được hỗ trợ bởi các công cụ ứng dụng, trong ý nghĩa rằng bạn có thể làm điều đó cho mình, các thư viện không chăm sóc nó. Bạn cần phải thực hiện giao diện và làm phẳng mọi thứ. – Ali

Các vấn đề liên quan