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

}

相关推荐
864记忆1 天前
Qt Network 模块中的函数详解
开发语言·网络·qt
864记忆1 天前
Qt Sql 模块中的函数详解
开发语言·网络·qt
白露与泡影1 天前
Spring Boot项目优化和JVM调优
jvm·spring boot·后端
是店小二呀1 天前
五分钟理解Rust的核心概念:所有权Rust
开发语言·后端·rust
她说人狗殊途1 天前
存储引擎MySQL
开发语言
自然数e1 天前
C++多线程【线程管控】之线程转移以及线程数量和ID
开发语言·c++·算法·多线程
Arva .1 天前
ConcurrentHashMap 的线程安全实现
java·开发语言
昂子的博客1 天前
Redis缓存 更新策略 双写一致 缓存穿透 击穿 雪崩 解决方案... 一篇文章带你学透
java·数据库·redis·后端·spring·缓存
Dxy12393102161 天前
Python为什么要使用可迭代对象
开发语言·python
任子菲阳1 天前
学Java第四十五天——斗地主小游戏创作
java·开发语言·windows