0

Suppose I have a struct named Test,

type Test struct {
    Value1 int `json:"value1"`
    Value2 int `json:"Value2"`
    People map[string]string `json:"Value3"`
    Timeupdate string `json:"Timeupdate"`
}

and people variable is a collection of key value pairs. How can I define and access people inside the struct?

var object = Test{Value1: arg1, Value2: arg2, People: args3, Timeupdate: time.Now().String()}

how can I define and access people inside this object?

5
  • 1
    Is the small p (people instead of People) intentional? This makes that the field is not accessible outside the package where Test is defined and will not be parsed from json. I suspect that is the root cause of this question because there is nothing special about accessing maps inside structs (object.people["key"] would work just fine). Commented Jun 11, 2018 at 9:55
  • That wasn't intentional (Thanks for reminding). I need clarification while declaring object what should be args3 (i.e how to define People inside object)? @VincentvanderWeele Commented Jun 11, 2018 at 10:01
  • @AshwinSekhari args3 should be map[string]string, same as People field's type. Is your question on how to initiliaze a map? Commented Jun 11, 2018 at 10:04
  • @mkopriva Yes can you give an example how to initialize a map inside the object? Commented Jun 11, 2018 at 10:07
  • @AshwinSekhari Just like you would do it outside of an object. make(map[string]string) or map[string]string{}. Commented Jun 11, 2018 at 10:08

1 Answer 1

1

You could initialize an empty map:

args3 := map[string]string{}

Or a map with values:

args3 := map[string]string{"jane": "Jane"}

You can assign values later directly:

args3["john"] = "john"

Or after initializing object:

var object = Test{Value1: arg1, Value2: arg2, People: args3, Timeupdate: time.Now().String()}
object.People["claire"] = "Claire"
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.