golang类型转化


 int 转 float
var sum int = 17 
mean:= float32(sum)
  float 转 int
a := 5.0
b := int(a)
  string 转 int
i,_ := strconv.Atoi("3")
fmt.println(3 + i) // 6
  int 转 string
fmt.println("a" + strconv.Itoa(32)) // a32
interface 转 string
var v1 interface{}="asdf"
fmt.Println(v1.(string))
  interface 转 int
var v2 interface{}=123
fmt.Println(v2.(int)+1) //124
  string 转 []byte
var str string = "test"
var b []byte = []byte(str)
  []byte 转 string
var str string = string(b)
var str string = string(b[:]) //or
对象转json字符串
str,err:=json.Marshal(stu)
json字符串转对象
stb := &Student{} 
err = json.Unmarshal([]byte(strData), &stb)
Map转json
map1 := make(map[string]interface{})
map1["1"] = "hello"
map1["2"] = "world"
str, err := json.Marshal(map1)  //return []byte
fmt.Println("map to json", string(str))
  json转map
map2 := make(map[string]interface{}) 
err = json.Unmarshal([]byte(jsonStr), &map2)
  数组转string
str := string(arr[:]) // 字符数组
 newStr := strings.Join(arr, ",") // 字符串数组   string 转 数组
s = strings.Split("abc,abc", ",")
fmt.Println(s, len(s)) //[abc abc] 2