...

Source file src/github.com/rogpeppe/go-internal/fmtsort/mapelem.go

Documentation: github.com/rogpeppe/go-internal/fmtsort

     1  package fmtsort
     2  
     3  import "reflect"
     4  
     5  const brokenNaNs = false
     6  
     7  func mapElems(mapValue reflect.Value) ([]reflect.Value, []reflect.Value) {
     8  	// Note: this code is arranged to not panic even in the presence
     9  	// of a concurrent map update. The runtime is responsible for
    10  	// yelling loudly if that happens. See issue 33275.
    11  	n := mapValue.Len()
    12  	key := make([]reflect.Value, 0, n)
    13  	value := make([]reflect.Value, 0, n)
    14  	iter := mapValue.MapRange()
    15  	for iter.Next() {
    16  		key = append(key, iter.Key())
    17  		value = append(value, iter.Value())
    18  	}
    19  	return key, value
    20  }
    21  

View as plain text