go——基本类型
Go有许多预定义类型,这里简单把它们分为基本类型和高级类型。下面是基本类型列表:
Go的基本类型共有18个,其中int和uint的实际宽度会根据计算架构的不同而不同。
在386计算架构下,它的宽度为32比特,即4个字节。
在amd64计算架构下,它们的宽度为64比特,即8个字节。
byte类型可以看作unit8的别名类型,而rune可以看作int32的别名类型。
rune类型专用于存储Unicode编码的单个字符。我们可以用5种方式来表示一个rune字面量。
(1)该rune字面量所对应的字符,比如"a"或"-",这个字符必须是Unicode编码规范所支持的。
(2)使用"\x"为前导并后跟两位十六进制数,这种方式可以表示宽度为1字节的值,即一个ASCII编码值。
(3)使用"\"为前导并后跟3位八进制数,这种方式也只能表示有限宽度的值,
即它只能用于表示在0和255之间的值,它与上一个表示法的表示范围是一致的。
(4)使用"\u"为前导并后跟4位十六进制数,它只能用于表示2字节宽度的值。
(5)使用"\U"为前导并后跟8位十六进制数,它只能用于表示4字节宽度的值,这种方式即为Unicode编码规范中的UCS-4表示法。
此外,rune字面量还支持一类特殊的字符序列——转义符。转义符的表示方法是在"\"后面追加一个特定的单字符。
除了上述转义符外,rune自变量中以”\“为前导的字符序列都是不和法的。
在Go中,字符串值表示了一个字符值的集合。
在底层,一个字符串值即一个包含了若干字节的序列。
长度为0的序列与一个空字符串相对应。字符串的长度即底层字节序列中字节的个数。
一个字符串字面量的长度在编译期间就能够确定。
字符串字面量有两种表示形式:原生字符串字面量(由反引号”、“包裹)和解释型字符串字面量(由双引号”"“包裹)。
前者所见即所得,而后者可以解析转义字符。
注意,字符串是不可变的,对字符串的操作只能返回一个新字符串,而不会改变原字符串并返回。
只有基于类型及其别名类型来可以作为常量的类型。常量的声明会用到关键字const。
单一常量声明一般由关键字const、常量名、常量类型、等号=和常量值组成。
下面是两个常量的说明:
1 2 | const DEFAULT_IP string = “192.168.0.1” const DEFAULT_PORT int = 9001 |
像这样多个常量同时申明还可以简写成:
1 2 3 4 | const ( DEFAULT_IP string = “192.168.0.1” DEFAULT_PORT int = 9001 ) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2017-12-08 MySQL的information_schema库
2017-12-08 mysql复制表结构和内容
2017-12-08 第8条:不要使用含有两个以上表达式的列表推导
2017-12-08 第7条:用列表推导式来取代map和filter