Go语言之数据类型

2023-4-3 来源:不详 浏览次数:

写在前面:

每个开发语言的数据类型都大同小异,在Golang中,通过数据类型声明函数和变量,总体来说数据类型标识了程序运行时所需内存空间大小,合适的类型声明可以提高内存利用率。

0x01--数据类型

Golang中数据类型比较多,下面会通过示例展示下:

1.布尔类型

布尔类类型标识为bool,其值为true或false,定义使用如下:

packagetestimport("fmt""testing""time")funcTestBoolType(t*testing.T){varb,c,d,eboolct:=time.Now().Unix()//获取时间戳t.Log("当前时间戳:",ct)b=falsec=truee=ct//如果运算结果是一个bool也可以给bool类型赋值//e=12+12//报错:cannotuse12+12(typeuntypedint)astypeboolinassignmentt.Log("b:",b)t.Log("c:",c)t.Log("d:",d)//为赋值默认为falset.Log("e:",e)}

输出:

===RUNTestBoolTypedata_type_test.go:12:当前时间戳:data_type_test.go:19:b:falsedata_type_test.go:20:c:truedata_type_test.go:21:d:falsedata_type_test.go:22:e:false---PASS:TestBoolType(0.00s)PASS

2.数字类型

数字类型有很多种,重点说下整数及运算方式:

packagetestimport("testing""time")//加法、减法、乘法、除法、取余、左移、右移、异或运算funcoperation(t*testing.T,a,bint){t.Logf("输入参数:[%d],[%d]",a,b)t.Log("加法运算结果:",a+b)t.Log("减法运算结果:",a-b)t.Log("乘法运算结果:",a*b)t.Log("除法运算结果:",a/b)t.Log("整除取余结果:",a%b)t.Log("左移运算结果:",ab)//-t.Log("右移运算结果:",ab)//-t.Log("异或运算结果:",a^b)//^-}/*测试整形类型*/funcTestDataType(t*testing.T){vari,jinti,j=2,1operation(t,i,j)}

输出:

===RUNTestDataTypedata_type_test.go:44:i:2,j:1data_type_test.go:27:输入参数:[2],[1]data_type_test.go:28:加法运算结果:3data_type_test.go:29:减法运算结果:1data_type_test.go:30:乘法运算结果:2data_type_test.go:31:除法运算结果:2data_type_test.go:32:整除取余结果:0data_type_test.go:33:左移运算结果:4data_type_test.go:34:右移运算结果:1data_type_test.go:35:异或运算结果:3---PASS:TestDataType(0.00s)PASS

以上代码注意点:

Golang中++和--在以上代码中没有体现,原因是i++或者i--是语句而非表达式,语句的意思是会对++或--前面的变量进行处理,而不会有任何返回值。所以我们可以在条件语句中使用,改变的是变量指向的地址内存的值。同时没有--i或者++i这种操作。

int和uint型在不同位操作系统所代表的长度是不同的,在32位操作系统上,它们均使用32位(4个字节),在64位操作系统上,它们均使用64位(8个字节)

除了int型外,Golang还有下面的数字类型:

//有符号整数int8(--)int16(--)int32(-2,,,-2,,,)int64(-9,,,,,,-9,,,,,,)//无符号整数uint8(0-)uint16(0-65,)uint32(0-4,,,)uint64(0-18,,,,,,)//浮点型float32(+-1e-45-+-3.4*1e38)float64(+-51e--e)//复数Golang拥有以下复数类型:

转载请注明:
http://www.weichiyen.com/szyy/13283.html
  • 上一篇文章:

  • 下一篇文章:
  • 网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介

    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有 2014-2024
    今天是: