2.Go语言基础-数据类型

数据类型

布尔型 bool
数字类型(有符号整型) int int8 int16 int32 int64 
数字类型(无符号整型) uint uint8 uint16 uint32 uint64
浮点型 float32 float64 complex64 complex128
其他数字类型 byte(类似uint8) rune(类似 int32)  uintptr(无符号整型,用于存放一个指针)
字符串类型 string
派生类型:
包括:
(a) 指针类型(Pointer)
(b) 数组类型
(c) 结构化类型(struct)
(d) Channel 类型
(e) 函数类型
(f) 切片类型
(g) 接口类型(interface)
(h) Map 类型

注意⚠️:Go语言对于类型转换是非常严苛的

Go语言不支持隐式类型转换


func TestType(t *testing.T) {
	var a int32 = 1
	var b int8
	b = a
}

编译以上代码报错如下
cannot use a (type int32) as type int8 in assignment

别名到原有类型也不支持隐式类型转换

type Myint int64
func TestType(t *testing.T) {
	var a int32 = 1
	var c Myint
	c = a
}

//编译以上代码报错如下
cannot use a (type int32) as type Myint in assignment
func TestType(t *testing.T) {
	var a int32 = 1
	var b int8
	b = int8(a)
	t.Log(b)
}

Go语言不支持指针运算

func TestPoint(t *testing.T) {
	//a 是一个字符串
	a := "hello"
	//aPtr是一个指针,内存单元编号
	aPtr := &a
	//输出 hello 0xc00008e4e0
	t.Log(a, aPtr)
	//输出类型 a变量是string类型 aPtr 是 *string
	t.Logf("%T %T", a, aPtr)

	// 编译报错,go语言不支持指针计算
	aPtr = aPtr + 1

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值