golang은 현재 매우 인기 있는 프로그래밍 언어이며 Google의 주요 프로그래밍 언어 중 하나이기도 합니다. Google은 개발 과정에서 protobuf(프로토콜 버퍼)를 사용하므로 golang도 protobuf에 대한 지원을 제공합니다. protobuf는 데이터 교환 및 지속성에 사용할 수 있는 경량 데이터 직렬화 프로토콜입니다. golang에서 protobuf를 사용하면 프로그램의 성능이 향상되고 안정성이 향상됩니다. 이번 글에서는 golang protobuf의 설치 방법을 소개하겠습니다.
먼저 해당 버전의 protobuf를 다운로드하세요. https://github.com /protocolbuffers/protobuf/releases
protobuf 버전 3.18.0을 예로 들어 다운로드한 후 압축을 풉니다.
tar -xzf protobuf-all-3.18.0.tar.gz cd protobuf-3.18.0
protobuf 디렉터리에 들어가서 다음 명령을 실행하여 설치합니다.
./configure make make check sudo make install sudo ldconfig # refresh shared library cache.
참고: "libtool: 설치: /usr/bin/install -c . libs/x86_64-linux-gnu/libprotobuf.so.25.0.0 /usr/local/lib/libprotobuf.so.25.0.0" 유사한 정보는 무시할 수 있습니다.
설치가 완료된 후 다음 명령을 실행하여 확인하세요.
protoc --version
다음 정보가 표시되어 성공적인 설치를 나타냅니다.
libprotoc 3.18.0
go get -u github.com/golang/protobuf/protoc-gen-go
설치가 완료된 후 설치 성공 여부를 확인할 수 있습니다.
which protoc-gen-go
다음 정보는 성공적인 설치를 나타내기 위해 표시됩니다.
$GOPATH/bin/protoc-gen-go
첫 번째 단계는 protobuf 파일을 작성하는 것입니다. 예:
syntax = "proto3"; message Person { string name = 1; int32 age = 2; string address = 3; }
두 번째 단계에서는 protobuf 컴파일러를 사용하여 protobuf 파일을 golang 코드로 변환합니다.
protoc --go_out=. person.proto
실행 후 person.pb.go 파일이 생성되며 파일 내용은 다음과 같습니다.
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) }
The 세 번째 단계에서는 생성된 코드를 개발에 사용합니다. 메인 함수에서 Person 객체를 직렬화 및 역직렬화하여 출력합니다.
요약:
golang에서 protobuf를 사용하려면 먼저 protobuf 및 golang protobuf 플러그인을 설치해야 합니다. protobuf 파일을 작성하여 protobuf 컴파일러를 이용하여 golang 코드로 변환하여 사용합니다. protobuf를 사용하면 프로그램 성능을 더 높고 안정적으로 만들 수 있습니다.
위 내용은 golang protobuf 설치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!