golang 8 基本数据类型默认值

package main

import "fmt"
//基本数据类型的默认值
func main()  {
	var n1 int //数据类型的默认值是0
	var n2 float64 //数据类型的默认值是0
	var n3 bool //数据类型的默认值是false
	var n4 string //数据类型的默认值是“”空引号
	fmt.Printf("n1=%d,n2=%f,n3=%t,n4=%s\n",n1,n2,n3,n4)
	//n1=0,n2=0.000000,n3=false,n4=
	fmt.Println("----------------------------------")
	//基本数据类型转换
	var i int = 100
	fmt.Printf("数值=%d,转换类型前=%T\n",i,i)
	var ni float32 = float32(i)
	fmt.Printf("数值=%f,转换类型后=%T\n",ni,ni) //注意在类型转换之后,占位符也需要转换为对应类型的占位符
	fmt.Println("------------------------")

	var i1 int8 = 12
	var i2 float64 = float64(i1) //被转换的是变量存储的数值,变量本身的数据类型并没有变化
	fmt.Printf("i1=%d,i1=%T\n",i1,i1)
	fmt.Printf("i2=%f,i2=%T\n" ,i2,i2)
	fmt.Println("------------------------")

	//在转换类型的过程中,需要考虑被转换的数值转换成新的类型范围是否能容纳该数值
	//如果不能则按溢出处理,但是这个结果不是我们所预料的 int8[-127---127]
	var sum int64 = 99999
	var sum1 int8 = int8(sum)
	fmt.Printf("sum1=%d\n",sum1)
	fmt.Println("------------------------")


	//课堂练习
	//1.不同类型案例
	//var m1 int32 = 12
	//var m2 int64
	//var m3 int8
	//
	//m2=m1+20 //不同类型不可相加
	cannot use m1 + 20 (type int32) as type int64 in assignment
	//m3=m1+20
	cannot use m1 + 20 (type int32) as type int8 in assignment
	//fmt.Printf("n2=%d,n3=%d",m2,m3)

	//2.做出类型修改
	var m1 int32 = 12
	var m2 int64
	var m3 int8

	m2=int64(m1)+20 //讲int32转为int64赋值给m2
	m3=int8(m1)+20 //讲int32转为int8赋值给m3
	fmt.Printf("n2=%d,n3=%d",m2,m3)


	//使用错误类型案例 int8[-127---127]
	//var nm1 int32 = 12
	//var nm2 int8
	//var nm3 int8
	//nm2 = int8(nm1) + 127 //int32转int8超出取值范围,按溢出处理
	//nm3 = int8(nm1) + 128 //直接超出取值范围报错
	//fmt.Println(nm2,nm3)

}

运行结果:

n1=0,n2=0.000000,n3=false,n4=
----------------------------------
数值=100,转换类型前=int
数值=100.000000,转换类型后=float32
------------------------
i1=12,i1=int8
i2=12.000000,i2=float64
------------------------
sum1=-97
------------------------
n2=32,n3=32

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值