func ListForType(rowType reflect.Type) []*Info {
	typeMap.mu.RLock()
	list, ok := typeMap.m[rowType]
	typeMap.mu.RUnlock()
	if ok {
		return list
	}

	typeMap.mu.Lock()
	defer typeMap.mu.Unlock()
	list = newList(rowType)
	typeMap.m[rowType] = list
	return list
}
// ListForType returns a list of column information
// associated with the specified type, which must be a struct.
ListForType returns a list of column information
associated with the specified type, which must be a struct.
// ListForType returns a list of column information // associated with the specified type which must be a struct .
func ListForType(rowType reflect.Type) []*Info {
	typeMap.mu.RLock()
	list, ok := typeMap.m[rowType]
	typeMap.mu.RUnlock()
	if ok {
		return list
	}
	typeMap.mu.Lock()
	defer typeMap.mu.Unlock()
	list = newList(rowType)
	typeMap.m[rowType] = list
	return list
}
func ListForType ( rowType reflect . Type ) [ ] * Info { typeMap . mu . RLock ( ) list , ok := typeMap . m [ rowType ] typeMap . mu . RUnlock ( ) if ok { return list } typeMap . mu . Lock ( ) defer typeMap . mu . Unlock ( ) list = newList ( rowType ) typeMap . m [ rowType ] = list return list }
ListForType returns a list of column information
associated with the specified type, which must be a struct.
ListForType returns a list of column information associated with the specified type which must be a struct .