Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mencipta Entiti Dinamik dalam Google App Engine Datastore Go?

Bagaimanakah Saya Boleh Mencipta Entiti Dinamik dalam Google App Engine Datastore Go?

Mary-Kate Olsen
Lepaskan: 2024-11-25 15:29:11
asal
756 orang telah melayarinya

How Can I Create Dynamic Entities in Go's Google App Engine Datastore?

Mencapai Sifat Dinamik dalam Google App Engine Datastore Go

Dalam Enjin Apl Python, Model Expando membolehkan penetapan dinamik atribut kepada entiti tanpa pengisytiharan terlebih dahulu. Artikel ini meneroka cara untuk mencapai kefungsian serupa dalam Go menggunakan Google App Engine Datastore.

Antara Muka PropertyLoadSaver

Kunci untuk menentukan entiti dinamik dalam Go ialah antara muka PropertyLoadSaver. Dengan melaksanakan antara muka ini, anda memperoleh keupayaan untuk membina sifat entiti secara dinamik pada menjimatkan masa.

Menggunakan PropertyList daripada Platform Enjin Aplikasi Go

Platform Enjin Aplikasi Go menawarkan jenis Senarai Harta, yang ialah senarai contoh Harta dan melaksanakan antara muka PropertyLoadSaver. Dengan memanfaatkan PropertyList, anda boleh mencipta entiti dinamik tanpa melaksanakan antara muka sendiri.

props := datastore.PropertyList{
    {Name: "time", Value: time.Now()},
    {Name: "email", Value: "johndoe@example.com"},
}
Salin selepas log masuk

Untuk menyimpan senarai ini sebagai entiti, anda boleh menggunakan:

key, err := datastore.Put(c, k, &props)
Salin selepas log masuk

Melaksanakan PropertyLoadSaver untuk Jenis Tersuai

Untuk fleksibiliti lanjut, anda boleh melaksanakan antara muka PropertyLoadSaver sendiri jenis tersuai, seperti peta.

type DynEnt map[string]interface{}

func (d *DynEnt) Load(props []datastore.Property) error {
    for _, p := range props {
        (*d)[p.Name] = p.Value
    }
    return nil
}

func (d *DynEnt) Save() (props []datastore.Property, err error) {
    for k, v := range *d {
        props = append(props, datastore.Property{Name: k, Value: v})
    }
    return
}
Salin selepas log masuk

Dengan pelaksanaan tersuai ini, anda kini boleh memuatkan dan menyimpan entiti dinamik dengan mudah:

d := DynEnt{"email": "johndoe@example.com", "time": time.Now()}
key, err := datastore.Put(c, k, &d)
Salin selepas log masuk

Pendekatan ini memberi anda kawalan penuh ke atas harta tersebut takrifan entiti dinamik anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Entiti Dinamik dalam Google App Engine Datastore Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan