go學習筆記——Kratos框架 mac安裝go1.20

官方文檔

https://go-kratos.dev/en/docs/getting-started/start/

1.安裝Go

參考:mac安裝go1.20

2.安裝Kratos框架

kratos依賴protobuf grpc等框架,需要先進行安裝

brew install grpc
brew install protobuf
brew install protoc-gen-go
brew install protoc-gen-go-grpc

驗證

protoc --version
protoc-gen-go --version
protoc-gen-go-grpc --version

安裝kratos框架

go install github.com/go-kratos/kratos/cmd/kratos/v2@latest

3.創建項目

# 創建項目
kratos new helloworld
# 也可以指定倉庫
kratos new helloworld -r https://gitee.com/go-kratos/kratos-layout.git

編譯項目

cd helloworld

# 安裝依賴
make init

# 生成wire依賴注入
go generate ./...
# 或者使用make
make generate

# 生成bin執行文件
go build -o ./bin/ ./...
# 或者使用make
make build

# 運行
./bin/helloworld -conf ./configs
或者
kratos run

# 測試
curl 'http://127.0.0.1:8000/helloworld/kratos'
{"message":"Hello kratos"}%

項目結構

Kratos項目如果想要使用debug模式來運行

需要將run kind從File修改成Directory,並指定Directory爲main.go和wire_gen.go所在的目錄,否則會報

# command-line-arguments
./main.go:77:23: undefined: wireApp

同時還需要額外指定conf文件的路徑,否則會報

panic: stat ../../configs: no such file or directory

配置如下

或者修改成package,指定成package path

debug成功

如果想要添加額外的API,需要先添加proto文件

kratos proto add api/helloworld/demo.proto

編譯proto文件生成model和grpc代碼

kratos proto client api/helloworld/demo/demo.proto

或者使用make命令

make api

注意make api命令無法生成validate驗證代碼,需要額外使用make validate命令,但是kratos proto client命令是可以的

參考:https://go-kratos.dev/docs/component/middleware/validate/

生成service模板代碼

kratos proto server api/helloworld/demo/demo.proto -t internal/service

參考文檔:從0到1安裝啓動Kratos框架https://go-kratos.dev/en/docs/getting-started/usage

4.Example項目

https://github.com/go-kratos/examples

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章