Mengendalikan Permodalan dalam Medan Struktur untuk Interaksi Pangkalan Data
Apabila bekerja dengan medan struct dalam Go, adalah penting untuk memahami cara penggunaan huruf besar mempengaruhi keterlihatan medan dan siri data.
Pangkalan data Sisipan
Apabila memasukkan struct ke dalam pangkalan data dokumen menggunakan perpustakaan go-couchdb, hanya medan yang bermula dengan huruf besar ditambahkan pada pangkalan data. Ini kerana medan yang dieksport (yang mempunyai huruf besar) kelihatan di luar pakej yang ditakrifkan. Dalam contoh yang diberikan, hanya medan Umur dieksport dan oleh itu ditambahkan pada pangkalan data.
Pensiri JSON
Begitu juga, apabila mensiri struct kepada JSON menggunakan json.Marshal (), hanya medan yang dieksport disertakan. Dalam kes di mana medan bermula dengan huruf kecil, ia tidak dieksport dan tidak akan bersiri.
Mengatasi Sekatan Huruf Besar
Untuk memasukkan medan dengan nama huruf kecil dalam kedua-dua sisipan pangkalan data dan siri JSON, anda boleh menggunakan tag JSON. Teg JSON membolehkan anda menentukan nama dan metadata lain medan untuk penyiaran dan penyahsirilan.
Sebagai contoh, untuk memasukkan medan umur dalam sisipan pangkalan data dan penyirian JSON, anda boleh menggunakan takrifan struct berikut:
type Sample struct { Name string `json:"name"` Age int `json:"age"` }
Dengan menambahkan teg json:"age" pada medan umur, anda menyatakan bahawa medan ini harus disiri dan dinyahsiri menggunakan nama "umur". Ini mengatasi gelagat lalai untuk mengecualikan medan bernama huruf kecil.
Kesimpulan
Memahami peraturan penggunaan huruf besar untuk medan struct dalam Go memastikan anda boleh berinteraksi dengan pangkalan data dan bersiri dengan berkesan data. Dengan menggunakan teg JSON, anda boleh menyesuaikan tingkah laku bersiri dan penyahsirian untuk memasukkan medan yang tidak mematuhi konvensyen huruf besar lalai.
Atas ialah kandungan terperinci Bagaimanakah Permodalan dalam Go Structs Mempengaruhi Penyisipan Pangkalan Data dan Pensirian JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!