数据类型之间转换

本文详细介绍了Go语言中各种数据类型之间的转换方法,包括int与float、int与string、string与rune以及rune切片与字符串之间的相互转换。通过实例展示了如何使用strconv包进行字符串与整数的转换,以及如何操作rune类型来处理Unicode字符。
摘要由CSDN通过智能技术生成

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值