Rumah >pembangunan bahagian belakang >Golang >pemasangan protobuf golang
Golang ialah bahasa pengaturcaraan yang sangat popular pada masa ini, dan ia juga merupakan salah satu bahasa pengaturcaraan yang dipromosikan oleh Google. Google menggunakan protobuf (Protocol Buffers) semasa proses pembangunan, jadi golang juga menyediakan sokongan untuk protobuf. protobuf ialah protokol siri data ringan yang boleh digunakan untuk pertukaran data dan kegigihan. Menggunakan protobuf dalam golang boleh menjadikan program berprestasi lebih baik dan lebih stabil. Artikel ini akan memperkenalkan kaedah pemasangan golang protobuf.
Mula-mula muat turun versi yang sepadan. protobuf. Alamat muat turun ialah: https://github.com/protocolbuffers/protobuf/releases
Ambil protobuf versi 3.18.0 sebagai contoh selepas memuat turun, nyahzipnya:
tar -xzf protobuf-all-3.18.0.tar.gz cd protobuf-3.18.0
Enter direktori protobuf dan laksanakan arahan berikut untuk memasang:
./configure make make check sudo make install sudo ldconfig # refresh shared library cache.
Nota: Jika anda menemui "libtool: install: /usr/bin/install -c .libs/x86_64-linux-gnu/libprotobuf.so.25.0 .0 /usr/local/lib/libprotobuf jadi.25.0.0" boleh diabaikan.
Selepas pemasangan selesai, jalankan arahan berikut untuk mengesahkan:
protoc --version
Maklumat berikut dipaparkan untuk menunjukkan pemasangan berjaya:
libprotoc 3.18.0
go get -u github.com/golang/protobuf/protoc-gen-go
Selepas pemasangan selesai, anda boleh sahkan sama ada pemasangan berjaya:
which protoc-gen-go
Maklumat berikut dipaparkan untuk menunjukkan bahawa pemasangan berjaya:
$GOPATH/bin/protoc-gen-go
Langkah pertama ialah menulis fail protobuf. Contoh:
syntax = "proto3"; message Person { string name = 1; int32 age = 2; string address = 3; }
Dalam langkah kedua, gunakan pengkompil protobuf untuk menukar fail protobuf kepada kod golang:
protoc --go_out=. person.proto
Selepas dijalankan, fail person.pb.go akan dihasilkan kandungan adalah seperti berikut:
package main import ( "fmt" "github.com/golang/protobuf/proto" ) type Person struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Age int32 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"` Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` } func main() { person := &Person{ Name: "John", Age: 25, Address: "New york", } data, _ := proto.Marshal(person) fmt.Println(data) newperson := &Person{} _ = proto.Unmarshal(data, newperson) fmt.Printf("Name: %s, Age: %d, Address: %s ", newperson.Name, newperson.Age, newperson.Address) }
Langkah ketiga ialah menggunakan kod yang dijana untuk pembangunan. Dalam fungsi utama, sirikan dan nyahsiri objek Orang dan keluarkannya.
Ringkasan:
Apabila menggunakan protobuf dalam golang, anda perlu memasang pemalam protobuf dan golang protobuf terlebih dahulu. Dengan menulis fail protobuf, gunakan pengkompil protobuf untuk menukarnya kepada kod golang dan menggunakannya. Menggunakan protobuf boleh menjadikan prestasi program lebih tinggi dan lebih stabil.
Atas ialah kandungan terperinci pemasangan protobuf golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!