


json, xml dan kaedah pengekodan dan penyahkodan protobuf bagi fungsi Golang
Golang ialah bahasa pengaturcaraan sumber terbuka yang digunakan secara meluas dalam pembangunan aplikasi rangkaian. Di Golang, ia bukan sahaja menyediakan perpustakaan fungsi yang kaya, tetapi juga menyediakan pelbagai kaedah pengekodan dan penyahkodan, termasuk json, xml dan protobuf. Artikel ini akan memperkenalkan kaedah pengekodan dan penyahkodan json, xml dan protobuf bagi fungsi Golang dan penggunaannya.
1. Pengekodan dan penyahkodan json
1.1 Pengekodan
Di Golang, pengekodan struktur ke dalam format json adalah sangat mudah. Hanya gunakan fungsi Marshal dalam pakej json untuk mengekod struktur ke dalam data json.
Sebagai contoh, kita mempunyai struktur seperti berikut:
type Student struct { Name string `json:"name"` Age int `json:"age"` Address string `json:"address"` }
Jika kita ingin mengekod struktur ini ke dalam format json, kita boleh melakukan ini:
s := Student{ Name: "张三", Age: 18, Address: "北京市朝阳区", } b, err := json.Marshal(s) if err != nil { //错误处理 } fmt.Println(string(b))
Format json output adalah seperti berikut :
{ "name": "张三", "age": 18, "address": "北京市朝阳区" }
1.2 Penyahkodan
Begitu juga, ia juga sangat mudah untuk menggunakan fungsi Unmarshal dalam pakej json untuk menyahkod data json ke dalam struktur. Hanya hantar data json ke dalam fungsi Unmarshal.
Sebagai contoh, kita mempunyai data json berikut:
data := `{ "name": "李四", "age": 20, "address": "上海市浦东新区" }`
Jika kita ingin menyahkod data json ini ke dalam struktur, kita boleh melakukan ini:
var s Student err := json.Unmarshal([]byte(data), &s) if err != nil { //错误处理 } fmt.Println(s.Name, s.Age, s.Address)
Hasil output ialah:
李四 20 上海市浦东新区
2. Pengekodan dan penyahkodan XML
2.1 Pengekodan
Di Golang, struktur juga boleh dikodkan ke dalam format xml. Hanya gunakan fungsi Marshal dalam pakej pengekodan/xml.
Sebagai contoh, kami mempunyai struktur seperti berikut:
type Student struct { Name string `xml:"name"` Age int `xml:"age"` Address string `xml:"address"` }
Jika kami ingin mengekod struktur ini ke dalam format xml, kami boleh melakukan ini:
s := Student{ Name: "张三", Age: 18, Address: "北京市朝阳区", } b, err := xml.Marshal(s) if err != nil { //错误处理 } fmt.Println(string(b))
Output xml format As berikut:
<Student> <name>张三</name> <age>18</age> <address>北京市朝阳区</address> </Student>
2.2 Penyahkodan
Begitu juga, ia juga sangat mudah untuk menggunakan fungsi Unmarshal dalam pakej pengekodan/xml untuk menyahkod data xml ke dalam struktur. Hanya hantar data xml ke dalam fungsi Unmarshal.
Sebagai contoh, kami mempunyai data xml berikut:
data := ` <Student> <name>李四</name> <age>20</age> <address>上海市浦东新区</address> </Student>`
Jika kami ingin menyahkod data xml ini ke dalam struktur, kami boleh melakukan ini:
var s Student err := xml.Unmarshal([]byte(data), &s) if err != nil { //错误处理 } fmt.Println(s.Name, s.Age, s.Address)
Hasil output ialah:
李四 20 上海市浦东新区
3. pengekodan dan penyahkodan protobuf
3.1 Pasang protobuf
Sebelum pengekodan dan penyahkodan protobuf, protobuf perlu dipasang terlebih dahulu. Kaedah pemasangan adalah seperti berikut:
- Muat turun fail pemasangan protobuf. Alamat muat turun: https://github.com/protocolbuffers/protobuf/releases
- Ekstrak fail pemasangan dan masukkan direktori yang dinyahmampat.
- Laksanakan arahan berikut untuk memasang protobuf:
./configure make make check sudo make install sudo ldconfig
- Semak sama ada protobuf berjaya dipasang:
Jika maklumat serupa seperti berikut adalah output, ini bermakna protobuf telah berjaya dipasang:
protoc --version
3.2 Menulis fail protobuf
Sebelum pengekodan dan penyahkodan protobuf, anda perlu menulis fail protobuf. Dalam fail protobuf, anda perlu menentukan jenis Mesej dan menetapkan teg kepada setiap medan.
Sebagai contoh, kami menulis fail protobuf seperti berikut:
libprotoc 3.6.1
Dalam protobuf, tag ialah nilai integer yang digunakan untuk mengenal pasti setiap medan. Dalam contoh ini, medan nama ditetapkan kepada 1, medan umur ditetapkan kepada 2 dan medan alamat ditetapkan kepada 3.
3.3 Pengekodan
Di Golang, pengekodan menggunakan protobuf adalah sangat mudah. Hanya gunakan fungsi Marshal dalam pakej protobuf.
Sebagai contoh, kami mempunyai struktur seperti berikut:
syntax = "proto3"; package main; message Student { string name = 1; int32 age = 2; string address = 3; }
Pengekodan protobuf output adalah seperti berikut:
s := &pb.Student{ Name: "张三", Age: 18, Address: "北京市朝阳区", } b, err := proto.Marshal(s) if err != nil { //错误处理 } fmt.Println(string(b))
3.4 Penyahkodan
Begitu juga, gunakan pakej protobuf Fungsi Unmarshal untuk menyahkod data protobuf ke dalam struktur juga sangat mudah. Hanya hantar data protobuf dan jenis Mesej ke dalam fungsi Unmarshal.
Sebagai contoh, kita mempunyai data protobuf berikut:
1:6 2:18 3:"北京市朝阳区"
Jika kita ingin menyahkod data protobuf ini kepada struktur, kita boleh melakukan ini:
data := []byte{0x0a, 0x06, 0xe5, 0xbc, 0xa0, 0xe4, 0xb8, 0x89, 0x10, 0x12, 0x0f, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe5, 0x9b, 0xbd, 0xe5, 0x8c, 0x9d, 0xe5, 0x8c, 0x97, 0xe5, 0x8c, 0x80, 0x1a, 0x0d, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe5, 0x9b, 0xbd, 0xe5, 0x8c, 0x9d}
Hasil output ialah:
var s pb.Student err := proto.Unmarshal(data, &s) if err != nil { //错误处理 } fmt.Println(s.Name, s.Age, s.Address)
Ringkasan
Di Golang, pelbagai kaedah pengekodan dan penyahkodan disediakan untuk memenuhi keperluan senario yang berbeza. pengekodan dan penyahkodan json, pengekodan dan penyahkodan xml, dan pengekodan dan penyahkodan protobuf adalah kaedah pengekodan dan penyahkodan yang biasa digunakan dan mempunyai kebolehgunaan yang luas. Menguasai codec ini boleh membantu kami membangunkan aplikasi rangkaian dengan lebih mudah.
Atas ialah kandungan terperinci json, xml dan kaedah pengekodan dan penyahkodan protobuf bagi fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Golang dan FFmpeg: Pelaksanaan teknikal penstriman siaran langsung memerlukan contoh kod khusus Pengenalan: Dalam beberapa tahun kebelakangan ini, perkembangan pesat dan pempopularan teknologi siaran langsung telah menjadikan siaran langsung kaedah media yang semakin popular. Antaranya, teknologi penstriman masa nyata adalah kunci untuk merealisasikan siaran langsung. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan Golang dan alat pemprosesan multimedia FFmpeg untuk merealisasikan pelaksanaan teknikal penstriman langsung, dan menyediakan beberapa contoh kod yang berkaitan. 1. Pengenalan kepada teknologi Golang dan FFmpeg 1.1

Pengenalan kepada kaedah dan alatan ujian prestasi Golang: Dalam pembangunan perisian, ujian prestasi ialah pautan penting. Ujian prestasi membolehkan pembangun mengesahkan prestasi program dan mengenal pasti kesesakan prestasi yang berpotensi. Sebagai bahasa pengaturcaraan berprestasi tinggi, Golang turut menyediakan beberapa kaedah dan alatan untuk membantu pembangun menjalankan ujian prestasi. Artikel ini akan memperkenalkan beberapa kaedah dan alatan ujian prestasi yang biasa digunakan di Golang, dengan contoh kod. 1. Ujian penanda aras Golang menyediakan rangka kerja ujian penanda aras terbina dalam yang boleh dilakukan dengan mudah

Golang dan FFmpeg: Bagaimana untuk melaksanakan penyahkodan dan pengekodan audio, contoh kod khusus diperlukan Pengenalan: Dengan perkembangan teknologi multimedia yang berterusan, pemprosesan audio telah menjadi bahagian yang amat diperlukan dalam banyak aplikasi. Artikel ini akan memperkenalkan cara menggunakan perpustakaan Golang dan FFmpeg untuk melaksanakan fungsi penyahkodan dan pengekodan audio serta memberikan contoh kod khusus. 1. Apakah FFmpeg? FFmpeg ialah alat pemprosesan multimedia sumber terbuka yang berkuasa yang boleh menyahkod, mengekod, menukar dan menstrim audio dan video.

Pemprosesan Imej Golang: Ketahui cara mencapai kesan kabur Gaussian bagi imej Pengenalan: Pemprosesan imej memainkan peranan penting dalam bidang penglihatan komputer. Dalam pemprosesan imej, Gaussian blur ialah teknik yang biasa digunakan untuk mengaburkan imej untuk mengurangkan hingar dan perincian dalam imej. Dalam artikel ini, kita akan belajar cara menggunakan Golang untuk mencapai kesan kabur Gaussian bagi imej, dengan contoh kod dilampirkan. Penyediaan persekitaran: Pertama, pastikan persekitaran pembangunan Golang telah dipasang dengan betul. Oleh dalam Terminal atau Prompt Perintah

Golang dan FFmpeg: Untuk melaksanakan teknologi tolak media penstriman langsung dalam talian, contoh kod khusus diperlukan Abstrak: Dengan populariti siaran langsung dalam talian, semakin ramai pembangun telah mula memberi perhatian kepada cara melaksanakan teknologi tolak media penstriman. . Artikel ini akan memperkenalkan cara menggunakan Golang dan FFmpeg untuk merealisasikan dorongan media penstriman langsung dalam talian. Melalui contoh kod khusus, pembaca akan dibimbing langkah demi langkah untuk memahami cara membina sistem tolak berdasarkan Golang dan FFmpeg. 1. Pengenalan kepada bahasa Golang Golang

Cara menggunakan Golang untuk memuatkan dan memampatkan imej secara progresif 1. Pengenalan Pada masa kini, penggunaan imej di Internet telah menjadi sangat biasa. Walau bagaimanapun, masalah seperti pemuatan perlahan imej besar dan ketidakupayaan untuk dipaparkan secara progresif juga kerap berlaku, menjejaskan pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan Golang untuk memuatkan dan memampatkan imej secara progresif untuk meningkatkan kelajuan dan pengalaman memuatkan pengguna. 2. Pemuatan progresif Apa yang dipanggil pemuatan progresif bermakna sebelum imej dimuatkan sepenuhnya, sebahagian kecil kualitinya boleh dipaparkan secara beransur-ansur. wujud

Pakej Golang dan Templat: Cipta pengalaman web yang lancar Dalam era Internet hari ini, pengalaman pengguna halaman web adalah penting untuk kejayaan laman web. Memandangkan teknologi web terus berkembang dan berinovasi, pembangun perlu menggunakan alat yang cekap dan ringkas untuk membina antara muka pengguna yang lancar. Dalam bidang pembangunan Golang, pakej Templat ialah alat berkuasa yang membantu pembangun melaksanakan templat halaman web yang pantas dan boleh diselenggara. Pakej Templat ialah enjin templat yang disertakan dengan perpustakaan standard Golang. Ia menyediakan a

Pengenalan kepada amalan ujian dipacu jadual di Golang: Dalam proses pembangunan perisian, ujian ialah pautan yang sangat penting Ia boleh membantu pembangun mencari dan menyelesaikan masalah dalam program serta meningkatkan kualiti dan kebolehpercayaan perisian. Ujian dipacu jadual ialah kaedah ujian yang biasa digunakan yang boleh menguji dengan lebih cekap dan memberikan liputan kod yang lebih baik. Apakah ujian dipacu jadual? Ujian dipacu jadual ialah kaedah ujian yang menyimpan data ujian dan hasil yang dijangkakan dalam jadual, dan kemudian melaksanakan berbilang kes ujian serentak berdasarkan data dalam jadual
