Do you need complexity and overhead in reflect package? Have you considered a simple switch type switch statement?
package main import ( "fmt" ) func GetStatus(value interface{}) string { var s string switch v := value.(type) { case uint8: v %= 85 s = string(v + (' ' + 1)) case string: s = v default: s = "error" } return s } func main() { fmt.Println(GetStatus(uint8(2)), GetStatus("string"), GetStatus(float(42.0))) }
source share