github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/lang/types/datatype.go (about)

     1  package types
     2  
     3  // DataTypeFromInterface returns the Murex data-type expected to be associated
     4  // with any specific Go data type.
     5  func DataTypeFromInterface(v interface{}) string {
     6  	switch v.(type) {
     7  	case int:
     8  		return Integer
     9  
    10  	case float64:
    11  		return Number
    12  
    13  	case string, []byte, []rune:
    14  		return String
    15  
    16  	case bool:
    17  		return Boolean
    18  
    19  	case nil:
    20  		return Null
    21  
    22  	default:
    23  		return Generic
    24  	}
    25  }