Go 语言中计算复数绝对值用 cmplx.Abs 函数,需导入 ”math/cmplx” 包,函数签名 func Abs(x complex128) float64,仅支持 complex128 类型,返回非负 float64 模长。

Go 语言中计算复数的绝对值(模)用的是 cmplx.Abs 函数,它返回复数到原点的欧几里得距离,即 √(real² + imag²)。
导入 cmplx 包
使用前必须导入 标准库 中的 math/cmplx 包:
import “math/cmplx”
cmplx.Abs 基本用法
函数签名是:func Abs(x complex128) float64,只接受 complex128 类型,返回 float64 类型的模长。
- 如果传入
complex64,需先转成complex128,例如:cmplx.Abs(complex128(z64)) - 实部和虚部为整数或浮点数时,可直接用
complex(re, im)构造复数 - 支持负实部、负虚部,结果恒为非负浮点数
简单示例代码
以下代码演示常见用法:
立即学习“go 语言免费学习笔记(深入)”;
z := complex(3, 4) // 3+4i
fmt.Println(cmplx.Abs(z)) // 输出:5
再比如:
z2 := complex(-5, 12) // -5+12i
fmt.Println(cmplx.Abs(z2)) // 输出:13
注意事项
不能直接对 complex64 调用 Abs,否则编译报错;不支持自定义精度类型 ,如需更高精度需自行实现(但标准库仅提供 complex128 版本); 零复数返回 0.0,符合数学定义。
基本上就这些。






























