int类型 <--->float类型
var a float32 = 3.812124
var b int = 10000
fmt.Println(int32(a)) // float类型转换int类型,会取整,丢弃小数
fmt.Println(float64(b))
int类型整数<--->string类型转换. strconv
// 1. strconv.Itoa(i int): 把几个整数i转换为字符串
// 2. strconv.Atoi(str string)(int,error): 把一个字符串转换为整数
package main
import (
"fmt"
"strconv"
)
//数据类型不同,不能直接赋值
var a int = 8;
var b int32 = int32(a) //不同类型之间是不能直接转换的
func main(){
var ss int = 153
var dd string
dd = strconv.Itoa(ss) //int转换string
fmt.Printf("%T,%s\n",dd,dd)
cc,_ := strconv.Atoi(dd) //string转换int
fmt.Printf("%T,%d",cc,cc)
}
string类型<--->rune字符类型
s21 := "红"
runes21 := []rune(s21) //rune 会把string转化成切片类型([]int32),并且存储的是字符对应的acsii码
fmt.Printf("%T,%v\n", runes21[0], runes21[0]) //int32,32418
rune切片<--->字符串
s21 := "红"
runes21 := []rune(s21) //runne 会把string转化成int32切片,并且存储的是字符对应的acsii码
fmt.Printf("%T,%v\n", runes21, runes21) //[]int32,32418
runes211 := rune(s21) //rune转换字符串为rune类型,本质上是int32类型
fmt.Printf("%T,%v\n",runes211,runes211) // int32,32418
runestr := string(runes21)
fmt.Printf("%T,%v\n",runestr,runestr)