dasarpemrogramangolang-example
dasarpemrogramangolang-example copied to clipboard
Perintah Pada Artikel Tidak Berjalan Sesuai Penjelasan
Halo,
Saya sedang belajar protobuf dari artikel ini, pada artikel tersebut, terdapat perintah untuk men-generate file pb.go
dengan perintah cmd
sebagai berikut.
cd chapter-c29/model
PATH=$PATH:$GOPATH/bin/ protoc --go_out=. *.proto
Yang saya pahami dari perintah cmd
di atas adalah men-generate file pb.go di dalam folder model. Namun, ketika saya menjalankan perintah PATH=$PATH:$GOPATH/bin/ protoc --go_out=. *.proto
di komputer saya, saya mendapat error seperti ini.
Namun, ketika saya menjalankan cmd
berikut, file pb.go
berhasil ter-generate.
protoc --go_out=. *.proto
Dengan catatan, saya harus menambahkan option go_package
di file .proto
, sehingga isi dari kedua file .proto
adalah sebagai berikut.
syntax = "proto3";
option go_package = "./model";
package model;
message GarageCoordinate {
float latitude = 1;
float longitude = 2;
}
message Garage {
string id = 1;
string name = 2;
GarageCoordinate coordinate = 3;
}
message GarageList {
repeated Garage list = 1;
}
message GarageListByUser {
map<string, GarageList> list = 1;
}
syntax = "proto3";
option go_package = "./model";
package model;
enum UserGender {
UNDEFINED = 0;
MALE = 1;
FEMALE = 2;
}
message User {
string id = 1;
string name = 2;
string password = 3;
UserGender gender = 4;
}
message UserList {
repeated User list = 1;
}
File .pb.go
akan ter-generate di dalam package model
sebagai berikut
Apakah ada cara lain supaya file .pb.go
tidak ter-generate di package
baru seperti pada contoh di atas? apakah ada cmd
yang kurang ketika saya menjalankan cmd
PATH=$PATH:$GOPATH/bin/ protoc --go_out=. *.proto
?