code: func ToStr(value interface{}, args ...int) (s string) {
  	switch v := value.(type) {
  	case bool:
  		s = strconv.FormatBool(v)
  	case float32:
  		s = strconv.FormatFloat(float64(v), 'f', argInt(args).Get(0, -1), argInt(args).Get(1, 32))
  	case float64:
  		s = strconv.FormatFloat(v, 'f', argInt(args).Get(0, -1), argInt(args).Get(1, 64))
  	case int:
  		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10))
  	case int8:
  		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10))
  	case int16:
  		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10))
  	case int32:
  		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10))
  	case int64:
  		s = strconv.FormatInt(v, argInt(args).Get(0, 10))
  	case uint:
  		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10))
  	case uint8:
  		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10))
  	case uint16:
  		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10))
  	case uint32:
  		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10))
  	case uint64:
  		s = strconv.FormatUint(v, argInt(args).Get(0, 10))
  	case string:
  		s = v
  	case []byte:
  		s = string(v)
  	default:
  		s = fmt.Sprintf("%v", v)
  	}
  	return s
  }
docs: // Convert any type to string.