"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como lidar com propriedades dinâmicas no armazenamento de dados do Google App Engine usando Go?

Como lidar com propriedades dinâmicas no armazenamento de dados do Google App Engine usando Go?

Postado em 2025-03-24
Navegar:718

How to Handle Dynamic Properties in Google App Engine Datastore using Go?

Como implementar propriedades dinâmicas no Go no Google App Engine Datastore

O DataStore do Google App Engine fornece uma poderosa solução de armazenamento de dados para aplicativos da Web, oferecendo flexibilidade e escalabilidade. Às vezes, é necessário armazenar dados com propriedades dinâmicas, significando propriedades que não são declaradas antes do tempo. Isso pode ser alcançado em Go ao aproveitar a interface PropertyLoadSaver do Google App Engine. Ao implementar essa interface, você ganha controle sobre o manuseio dinâmico de propriedades. PropertyList é essencialmente uma fatia de propriedades, permitindo que você adicione e remova as propriedades dinamicamente. // Crie uma lista de propriedades para manter as propriedades dinâmicas. Props: = DataStore.PropertyList { DataStore.Property {Name: "Time", Value: time.now ()}, DataStore.Property {Name: "Email", Valor: "[Email   Protected]"}, } // Crie uma chave incompleta para a nova entidade. K: = DataStore.newincompleteKey (CTX, "Dyntity", Nil) // salve a entidade usando a propriedade da propriedade. chave, err: = datastore.put (ctx, k, & props)

este snippet de código cria uma entidade com o tipo "Dinnceridade" e duas propriedades dinâmicas: "tempo" e "email". O PropertyList é salvo como o valor da entidade. Aqui está um exemplo usando um tipo personalizado chamado "Dynt":

importa "google.golang.org/appengine/datastore" TIPO DYNENT MAP [String] Interface {} Func (d *dynent) carregamento (props [] datastore.property) Erro { para _, p: = intervalo adereços { (*D) [P.Name] = P.Value } retornar nil } func (d *dynt) salvar (props [] datastore.property, error error) Erro { para k, v: = range *d { Props = Anexo (Props, DataStore.Property {Nome: K, Valor: V}) } retornar err }

Este tipo de dinolo pode ser usado para armazenar entidades com propriedades dinâmicas, como mostrado abaixo:

importar "google.golang.org/appgine/dataStore" // Crie um Dynent com propriedades dinâmicas. D: = Dynent {"Email": "[Email   Protected]", "Time": time.now ()} // Crie uma chave incompleta para a nova entidade. K: = DataStore.newincompleteKey (CTX, "Dyntity", Nil) // Salve a entidade usando o Dynent. chave, err: = datastore.put (ctx, k, & d)

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3