Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "math/rand"
- "strconv"
- "time"
- )
- type Client struct {
- id string
- }
- type Params struct {
- client *Client
- }
- var globalClient *Client
- func main() {
- params := Params{client: globalClient}
- globalClient = get(params)
- fmt.Println(globalClient)
- params = Params{client: globalClient}
- globalClient = get(params)
- fmt.Println(globalClient)
- params = Params{client: globalClient}
- globalClient = get(params)
- fmt.Println(globalClient)
- }
- func get(params Params) *Client {
- if params.client == nil {
- return &Client{id: getRandomStrId()}
- }
- return params.client
- }
- func getRandomStrId() string {
- rand.Seed(time.Now().UnixNano())
- return strconv.FormatInt(int64(rand.Intn(100)), 10)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement