数据类型之间转换

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)
上一篇:golang ---rune与byte


下一篇:GO语言----byte和rune类型