Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- )
- type FirstServiceConfig struct {
- FirstServiceKey string
- FirstServiceProject string
- }
- type SecondServiceConfig struct {
- SecondServiceUsername string
- SecondServicePassword string
- }
- type Config struct {
- Address string
- *FirstServiceConfig
- *SecondServiceConfig
- }
- var (
- defaultFirstServiceConfig = FirstServiceConfig{
- FirstServiceKey: "public_key",
- FirstServiceProject: "little_test",
- }
- defaultSecondServiceConfig = SecondServiceConfig{
- SecondServiceUsername: "guillaume",
- SecondServicePassword: "qwerty",
- }
- )
- func NewConfig(address string) Config {
- c := Config {
- Address: address,
- }
- c.FirstServiceConfig = &defaultFirstServiceConfig
- c.SecondServiceConfig = &defaultSecondServiceConfig
- return c
- }
- func main() {
- config := NewConfig("127.0.0.1")
- fmt.Printf("%v\n",config)
- fmt.Printf("%v\n",config.FirstServiceConfig)
- fmt.Printf("%v\n",config.SecondServiceConfig)
- // Direct access to embed struct fields
- fmt.Printf("Second service username is %s\n",config.SecondServicePassword)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement