Technical blog
"We must view with profound respect the infinite capacity of the human mind to resist the introduction of useful knowledge." - Thomas R. Lounsbury
| github | goodreads | linkedin | twitter |
ansible 2 / elasticsearch 2 / kernel 2 / leadership 1 / linux 2 / mnemonics 1 / nginx 1 / paper 40 / personal 5 / rust 1 / tools 2 /WC 96 / RT 1min
TweetUse cases: API / templates.
Having simple map of:
input := map[string]interface{}{
"Key1": []string{"some", "key"},
"key3": nil,
"val": 2,
"val2": "str",
"val3": 4,
}
One can decorate it using type assertion by iterating over it.
for key, value := range input {
slice, ok := value.([]string)
if ok {
input["Count"+key] = len(slice)
}
}
This becomes very useful when serializing struct into json.
To serialize struct use github.com/fatih/structs
input := structs.Map(...)
for key, value := range input {
slice, ok := value.([]string)
if ok {
input["Count"+key] = len(slice)
}
}