>백엔드 개발 >Golang >golang protobuf 설치

golang protobuf 설치

WBOY
WBOY원래의
2023-05-18 21:34:361222검색

golang은 현재 매우 인기 있는 프로그래밍 언어이며 Google의 주요 프로그래밍 언어 중 하나이기도 합니다. Google은 개발 과정에서 protobuf(프로토콜 버퍼)를 사용하므로 golang도 protobuf에 대한 지원을 제공합니다. protobuf는 데이터 교환 및 지속성에 사용할 수 있는 경량 데이터 직렬화 프로토콜입니다. golang에서 protobuf를 사용하면 프로그램의 성능이 향상되고 안정성이 향상됩니다. 이번 글에서는 golang protobuf의 설치 방법을 소개하겠습니다.

  1. 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
  1. golang protobuf 플러그인 설치
    protobuf를 사용하려면 protobuf 플러그인을 설치해야 합니다. 다음 명령을 통해 설치할 수 있습니다.
go get -u github.com/golang/protobuf/protoc-gen-go

설치가 완료된 후 설치 성공 여부를 확인할 수 있습니다.

which protoc-gen-go

다음 정보는 성공적인 설치를 나타내기 위해 표시됩니다.

$GOPATH/bin/protoc-gen-go
  1. 사용 golang protobuf 플러그인
    protobuf 플러그인을 설치한 후 golang의 protobuf 패키지를 사용할 수 있습니다. golang으로 작성된 protobuf 파일을 golang 코드로 변환하고 사용하는 과정은 다음과 같습니다.

첫 번째 단계는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.