读书笔记:Go内置数据类型

go 内置数据类型

  1. 基础类型
  • bool(布尔类型)
true,false

布尔型可以和 && 和 || 操作符结合,会有短路行为。

&& 的优先级高于 ||。

  • 整型
int8byteint16intuintuintptrint32int64uint

Unicode 字符 rune 类型 和 int32 是等价的,通常用于表示一个 Unicode 码点。这两个名称可以互换使用。

byte 和 uint8 是等价的,byte 类型一般用于强调数值是一个原始的数据,而不是一个小的整数。

无符号的整数类型 uintptr 没有指定具体的 bit 大小,但足以容纳指针。uintptr 只有在底层编程才需要,特别是 Go 和 C 函数库或操作系统接口相交互的地方。

int 和 int32 是不同的类型,即使 int 的大小也是 32 bit。

  • 浮点类型
float32float64

应该优先使用 float64 类型,因为 float32 类型的累计计算误差很容易扩散,并且 float32 能精确表示的正整数并不是很大。因为 float32 的有效 bit 位只有23个,其它的 bit 位用于指数和符号;当整数大于23bit能表达的范围时,float32 的表示将出现误差。

  • 复数类型
complex64complex128 分别对应 float32 float64 两种浮点数精度。

内置的 complex 函数用于构建复数,内建的 real 和 imag 函数分别返回复数的实部和虚部。

如果一个浮点数或一个十进制整数后面跟着一个i,例如3.141592i或2i,它将构成一个复数的虚部,复数的实部是0。

  • 字符串
string

内置的 len 函数返回一个字符串的字节数目,不是rune字符数目。

所以操作 s[i] 返回第 i 个字节的字节值。

第 i 个字节不一定是字符串的第 i 个字符,因为对于非 ASCII 字符的 UTF8 编码会要两个或多个字节。

  • 操作符将两个字符串连接成一个新字符串。

字符串可以用==和<进行比较;比较通过逐个字节 比较完成的

不变性意味如果两个字符串共享相同的底层数据的话也是安全的,这使得复制任何长度的字符串代价是低廉的,同样切割操作的代价也是廉价的,都没有必要分配新的内存。

  • 字符类型
rune,byte

在go语言中支持2个字符类型,一个是byte(unit8的别名),代表utf8字符串的单个字节的值;另一个是rune,代表unicode的字符

  • 错误类型
error
  1. 复合类型
  • 指针
pointer
  • 数组
array
  • 切片
slice
  • 字典
map
  • 通道
channel
  • 结构体
struct
  • 接口
interface
基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究”展开,提出了一种结合数据驱动方法与Koopman算子理论的递归神经网络(RNN)模型线性化方法,旨在提升纳米定位系统的预测控制精度与动态响应能力。研究通过构建数据驱动的线性化模型,克服了传统非线性系统建模复杂、计算开销大的问题,并在Matlab平台上实现了完整的算法仿真与验证,展示了该方法在高精度定位控制中的有效性与实用性。; 适合人群:具备一定自动化、控制理论或机器学习背景的科研人员与工程技术人员,尤其是从事精密定位、智能控制、非线性系统建模与预测控制相关领域的研究生与研究人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能预测控制;②为复杂非线性系统的数据驱动建模与线性化提供新思路;③结合深度学习与经典控制理论,推动智能控制算法的实际落地。; 阅读建议:建议读者结合Matlab代码实现部分,深入理解Koopman算子与RNN结合的建模范式,重点关注数据预处理、模型训练与控制系统集成等关键环节,并可通过替换实际系统数据进行迁移验证,以掌握该方法的核心思想与工程应用技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值