返回介绍

操作复数

发布于 2024-10-12 12:51:55 字数 1384 浏览 0 评论 0 收藏 0

有三个函数可以组装或者分解复数。内置函数 complex 会构造一个复数, realimag 会分解出复数的实部和虚部。

complex(realPart, imaginaryPart floatT) complexT
real(complexT) floatT
imag(complexT) floatT

参数的类型和返回值类型是对应的。对于 complex ,两个参数必须是相同的浮点类型,并返回由相同浮点数组成的复数类型。 complex64float32 对应的类型, complex128float64 对应的参数类型。如果参数是一个无类型常量,它会转换成另一个参数的类型。如果两个参数都是无类型常量,他们必须实数或者虚数部分为零,并且它会返回一个无类型的复数常量。

realimag 函数和 complex 正好相反的,所以对于一个值复数类型 Z 的值 z, z==Z(complex(real(z),imag(z)))

如果这么操作都是常量,那么返回的值也是常量。

var a = complex(2, -2)             // complex128
const b = complex(1.0, -1.4)       // untyped complex constant 1 - 1.4i
x := float32(math.Cos(math.Pi/2))  // float32
var c64 = complex(5, -x)           // complex64
var s uint = complex(1, 0)         // untyped complex constant 1 + 0i can be converted to uint
_ = complex(1, 2<<s)               // illegal: 2 assumes floating-point type, cannot shift
var rl = real(c64)                 // float32
var im = imag(a)                   // float64
const c = imag(b)                  // untyped constant -1.4
_ = imag(3 << s)                   // illegal: 3 assumes complex type, cannot shift

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文