mirror of
https://github.com/go-kratos/kratos.git
synced 2025-03-17 21:07:54 +02:00
update doc (#361)
This commit is contained in:
parent
9ee925668e
commit
230a63771d
@ -46,9 +46,10 @@ func TestMain(t *testing.M) {
|
||||
|
||||
### example main
|
||||
```go
|
||||
# main.go
|
||||
// main.go
|
||||
func main() {
|
||||
# 初始化paladin
|
||||
flag.Parse()
|
||||
// 初始化paladin
|
||||
if err := paladin.Init(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@ -58,28 +59,31 @@ func main() {
|
||||
```
|
||||
|
||||
### example HTTP/gRPC
|
||||
```go
|
||||
```toml
|
||||
# http.toml
|
||||
[server]
|
||||
addr = "0.0.0.0:9000"
|
||||
timeout = "1s"
|
||||
|
||||
# server.go
|
||||
```
|
||||
|
||||
```go
|
||||
// server.go
|
||||
func NewServer() {
|
||||
# 默认配置用nil,这时读取HTTP/gRPC构架中的flag或者环境变量(可能是docker注入的环境变量,默认端口:8000/9000)
|
||||
engine := bm.DefaultServer(nil)
|
||||
|
||||
# 除非自己要替换了配置,用http.toml
|
||||
var bc struct {
|
||||
Server *bm.ServerConfig
|
||||
}
|
||||
if err = paladin.Get("http.toml").UnmarshalTOML("server", &bc); err != nil {
|
||||
// 不存在时,将会为nil使用默认配置
|
||||
if err != paladin.ErrNotExist {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
engine := bm.DefaultServer(conf)
|
||||
// 默认配置用nil,这时读取HTTP/gRPC构架中的flag或者环境变量(可能是docker注入的环境变量,默认端口:8000/9000)
|
||||
engine := bm.DefaultServer(nil)
|
||||
|
||||
// 除非自己要替换了配置,用http.toml
|
||||
var bc struct {
|
||||
Server *bm.ServerConfig
|
||||
}
|
||||
if err := paladin.Get("http.toml").UnmarshalTOML(&bc); err != nil {
|
||||
// 不存在时,将会为nil使用默认配置
|
||||
if err != paladin.ErrNotExist {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
engine := bm.DefaultServer(bc.Server)
|
||||
}
|
||||
```
|
||||
|
||||
@ -87,25 +91,28 @@ func NewServer() {
|
||||
```go
|
||||
# service.go
|
||||
type Service struct {
|
||||
ac *paladin.Map
|
||||
ac *paladin.Map
|
||||
}
|
||||
|
||||
func New() *Service {
|
||||
# paladin.Map 通过atomic.Value支持自动热加载
|
||||
var ac = new(paladin.TOML)
|
||||
if err := paladin.Watch("application.toml", ac); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
s := &Service{
|
||||
ac : ac;
|
||||
}
|
||||
return s
|
||||
// paladin.Map 通过atomic.Value支持自动热加载
|
||||
var ac = new(paladin.TOML)
|
||||
if err := paladin.Watch("application.toml", ac); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
s := &Service{
|
||||
ac: ac,
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *Service) Test() {
|
||||
switch, err := s.ac.Bool("switch")
|
||||
if err != nil {
|
||||
// TODO
|
||||
}
|
||||
# or use default value
|
||||
switch := paladin.Bool(s.ac.Value("switch"), false)
|
||||
sw, err := s.ac.Get("switch").Bool()
|
||||
if err != nil {
|
||||
// TODO
|
||||
}
|
||||
|
||||
// or use default value
|
||||
sw := paladin.Bool(s.ac.Get("switch"), false)
|
||||
}
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user