Now I am trying to obtain the substructure values by key. But I am looking at set.go and the only way to get values out of the set seems to be List(), which provides values without keys.
From the sample in the doc link I mentioned, I would like to do this:
There are no keys in a set, and the value contained in a set are not named, so you always need to iterate over the values to find what you are looking for. The *schema.Set type has a List() method which returns an []interface{} with the set values.