package main import ( "fmt" "reflect" ) func main() { myMap := make(map[string]int) key := "john" val := 42 mapVal := reflect.ValueOf(myMap) keyVal := reflect.ValueOf(key) valVal := reflect.ValueOf(val) mapVal.SetMapIndex(keyVal, valVal) fmt.Println(myMap) // Output: map[john:42] }
package main import ( "fmt" "reflect" ) func main() { myMap := make(map[int]string) key := 123 val := "testval" mapVal := reflect.ValueOf(myMap) keyVal := reflect.ValueOf(key) valVal := reflect.ValueOf(val) mapVal.SetMapIndex(keyVal, valVal) fmt.Println(myMap) // Output: map[123:testval] }This code is very similar to Example 1, but shows how the `setMapIndex` method works with a `map[int]string` instead of `map[string]int`. The result is the same: the `myMap` map is populated with a key-value pair. The package associated with the `setMapIndex` method is `reflect` within the Go standard library.