go语言常用的内置数据类型别名byte, rune 和any, error接口 定义和使用说明

本文描述了go语言中常用的一些类型别名和接口的定义和使用说明, 最为常用的就是 byte, rune, Type, any还有 error , 详情如下:

8位无符号整数,表示范围 0--127

type uint8 uint8

byte

uint8的别名,用来表示8位无符号整数, 这个无需多言了,go里面使用最多的数据类型

type byte = uint8

rune

这个是int32的别名, 这个一般用它来区分字符值和整数值。

在对多字节的字符串进行字符统计的时候就需要将字符转换为\[\]rune切片后才能正确统计字符数量

从底层的原理来说 字符默认用的是 byte,这个1个byte在内存中占8位,所能表示的整数范围0--127,

而双字节的字符转换为unicode的ascii码后数值肯定大于127,所以如果不转换为更大的数据类型,就必然会有乱码
type rune = int32

这个是空类型, 可见他是Type的别名,而Type又是int的别名

var nil Type

int类型的别名
type Type int

空接口的别名,用于表示任意类型的数据
type any = interface{}

可比较类型的接口,这个一般用于泛型的类型约束,非数据类型

type comparable interface{ comparable }

全局的错误接口定义,Error()是方法 返回具体的错误信息
type error interface {

Error() string

}

相关推荐
IT_陈寒2 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
fliter2 小时前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
fliter3 小时前
用 Rust 解析并生成 ICMP 包:checksum、nom 与 cookie-factory
后端
蝎子莱莱爱打怪3 小时前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
fliter3 小时前
从 panic 到 Result:用 Rust 重新整理一个 ping 项目的错误处理
后端
任沫4 小时前
Agent之Function Call
javascript·人工智能·go
森蓝情丶4 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
JensCS猿4 小时前
从 Spring Boot 回看 SSM 框架:手动挡与自动挡的驾驶哲学
后端
爱勇宝4 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员
科米米4 小时前
嵌入式日志模块
后端