Go语言提供了丰富的数值类型,包括整数类型、浮点类型和复数类型。每种类型都有其特定的用途和存储范围。下面将详细介绍这些类型,并附带示例代码。
原文链接: Go语言数值类型教程 - 红客网-网络安全与渗透技术
1. 整数类型
原文链接: Go语言数值类型教程 - 红客网-网络安全与渗透技术
整数类型用于存储整数,包括正整数、负整数和零。Go语言支持有符号和无符号整数,以及基于平台大小可变的整数。
- 有符号整数:
-int8
:8位有符号整数(-128 到 127)
-int16
:16位有符号整数(-32768 到 32767)
-int32
:32位有符号整数(-2147483648 到 2147483647)
-int64
:64位有符号整数(-9223372036854775808 到 9223372036854775807)
-int
:平台相关的有符号整数(通常是32位或64位) - 无符号整数:
-uint8
:8位无符号整数(0 到 255),别名byte
-uint16
:16位无符号整数
-uint32
:32位无符号整数
-uint64
:64位无符号整数
-uint
或uintptr
:平台相关的无符号整数(通常是32位或64位),uintptr
用于指针算术
示例代码:
package mainimport "fmt"func main() {var int8Var int8 = 127var uint8Var uint8 = 255var intVar int = 100fmt.Println("int8Var:", int8Var)fmt.Println("uint8Var:", uint8Var)fmt.Println("intVar:", intVar)// 整数运算sum := intVar + 50fmt.Println("Sum:", sum)
}
2. 浮点类型
原文链接: Go语言数值类型教程 - 红客网-网络安全与渗透技术
浮点类型用于存储带小数点的实数。
float32
:32位IEEE 754浮点数float64
:64位IEEE 754浮点数
示例代码:
package mainimport "fmt"func main() {var float32Var float32 = 3.14159var float64Var float64 = 3.14159265358979323846fmt.Println("float32Var:", float32Var)fmt.Println("float64Var:", float64Var)// 浮点运算product := float64Var * 2fmt.Println("Product:", product)
}
3. 复数类型
原文链接: Go语言数值类型教程 - 红客网-网络安全与渗透技术
复数类型用于存储复数,即带有实部和虚部的数。
complex64
:由两个float32
组成的复数complex128
:由两个float64
组成的复数
在Go中,可以使用内置的complex
函数来创建复数,并使用real
和imag
函数来获取其实部和虚部。
示例代码:
package mainimport ("fmt""math/cmplx"
)func main() {var complex64Var complex64 = complex(3, 4)var complex128Var complex128 = complex(3.0, 4.0)fmt.Println("complex64Var:", complex64Var)fmt.Println("complex128Var:", complex128Var)// 获取实部和虚部realPart := real(complex64Var)imagPart := imag(complex64Var)fmt.Println("Real part:", realPart)fmt.Println("Imaginary part:", imagPart)// 复数运算(例如求模)modulus := cmplx.Abs(complex128Var)fmt.Println("Modulus:", modulus)
红客技术网(blog.hongkewang.cn)