类型(Types)
前言
C#、Go等语言的类型介绍
C#
值类型
C# 提供以下内置值类型,也称为“简单类型”:
- 整型数值类型
- 浮点型数值类型
- bool,表示布尔值
- char,表示 Unicode UTF-16 字符
- enum,枚举类型
- struct,结构类型
- Tuple,元组类型
- 可为null的值类型
C# 类型/关键字 | 范围 | 大小 | .NET 类型 |
---|---|---|---|
bool | true 或 false | System.Boolean | |
sbyte | -128 到 127 | 8 位带符号整数 | System.SByte |
byte | 0 到 255 | 无符号的 8 位整数 | System.Byte |
short | -32,768 到 32,767 | 有符号 16 位整数 | System.Int16 |
ushort | 0 到 65,535 | 无符号 16 位整数 | System.UInt16 |
int | -2,147,483,648 到 2,147,483,647 | 带符号的 32 位整数 | System.Int32 |
uint | 0 到 4,294,967,295 | 无符号的 32 位整数 | System.UInt32 |
long | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 64 位带符号整数 | System.Int64 |
ulong | 0 到 18,446,744,073,709,551,615 | 无符号 64 位整数 | System.UInt64 |
nint | 取决于(在运行时计算的)平台 | 带符号的 32 位或 64 位整数 | System.IntPtr |
nuint | 取决于(在运行时计算的)平台 | 无符号的 32 位或 64 位整数 | System.UIntPtr |
float | ±1.5 x 10^−45^ 至 ±3.4 x 10^38^,精度大约 6-9 位数字 | 4 个字节 | System.Single |
double | ±5.0 × 10^−324^ 到 ±1.7 × 10^308^,精度大约 15-17 位数字 | 8 个字节 | System.Double |
decimal | ±1.0 x 10^-28^ 至 ±7.9228 x 10^28^,精度28-29 位 | 16 个字节 | System.Decimal |
char | U+0000 到 U+FFFF | 16 位 | System.Char |
引用类型
声明引用类型
- class
- interface
- delegate
- record
内置引用类型
- dynamic, System.Object
- object, System.Object
- string, System.String
默认值
类型 | 默认值 |
---|---|
任何引用类型 | null |
任何内置整数数值类型 | 0(零) |
任何内置浮点型数值类型 | 0(零) |
bool | false |
char | ‘\0’ (U + 0000) |
enum | 表达式 (E)0 生成的值,其中 E 是枚举标识符。 |
struct | 通过如下设置生成的值:将所有值类型的字段设置为其默认值,将所有引用类型的字段设置为 null。 |
任何可以为 null 的值类型 | HasValue 属性为 false 且 Value 属性未定义的实例。 该默认值也称为可以为 null 的值类型的“null” 值。 |
Go
值类型
- Boolean types
- Numeric types
- String types
- Array types
- Struct types
Numeric types | Range |
---|---|
uint8 | the set of all unsigned 8-bit integers (0 to 255) |
uint16 | the set of all unsigned 16-bit integers (0 to 65535) |
uint32 | the set of all unsigned 32-bit integers (0 to 4294967295) |
uint64 | the set of all unsigned 64-bit integers (0 to 18446744073709551615) |
int8 | the set of all signed 8-bit integers (-128 to 127) |
int16 | the set of all signed 16-bit integers (-32768 to 32767) |
int32 | the set of all signed 32-bit integers (-2147483648 to 2147483647) |
int64 | the set of all signed 64-bit integers (-9223372036854775808 to 9223372036854775807) |
float32 | the set of all IEEE-754 32-bit floating-point numbers |
float64 | the set of all IEEE-754 64-bit floating-point numbers |
complex64 | the set of all complex numbers with float32 real and imaginary parts |
complex128 | the set of all complex numbers with float64 real and imaginary parts |
byte | alias for uint8 |
rune | alias for int32 |
引用类型
- Slice types
- Pointer types
- Function types
- Interface types
- Map types
- Channel types
后记
Markdown中如何输入上标、下标?
示例 | Markdown代码 |
---|---|
X^2^ | X^2^ |
X |
X~0~ |