首页> 基础笔记 >GoLang基础学习 >基础知识 基础知识

Golang基本数据类型的相互转换

作者:小萝卜 2023-03-29 浏览 264

简介Golang和 java / c不同,Go在不同类型的变量之间赋值时需要显式转换。也就是说 Golang中数据类型不能自动转换。

基本介绍

Golang和  java / c不同,Go在不同类型的变量之间赋值时需要显式转换。也就是说     Golang中数据类型不能自动转换。

基本语法

表达式  T(v)将值   v转换为类型   T

T:就是数据类型,比如   int32,int64,float32等等

v:就是需要转换的变量

案例演示

	var i int32 = 100
	//希望将 i => float
	var n1 float32 = float32(i)
	var n2 int8 = int8(i)
	var n3 int64 = int64(i) //低精度->高精度

	fmt.Printf("i=%v n1=%v n2=%v n3=%v \n", i ,n1, n2, n3)

基本数据类型相互转换的注意事项

1)  Go中,数据类型的转换可以是从表示范围小-->表示范围大,也可以范围大--->范围小

2)被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化!

	var i int32 = 100

	//被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化
	fmt.Printf("i type is %T\n", i) // int32

3)在转换中,比如将   int64转成      int8【-128---127 】,编译时不会报错,只是转换的结果是按溢出处理,和我们希望的结果不一样。因此在转换时,需要考虑范围.

	//在转换中,比如将 int64  转成 int8 【-128---127】 ,编译时不会报错,
	//只是转换的结果是按溢出处理,和我们希望的结果不一样
	var num1 int64 = 999999
	var num2 int8 = int8(num1) // 
	fmt.Println("num2=", num2)

很赞哦! (1)

文章评论

    高端网站建设