Go基础学习-Reciver

本文深入探讨Go语言作为一门面向对象的语言,虽然没有传统的'class'关键字,但通过'struct'实现类的概念,以及如何使用'receiver'绑定方法到特定实例。详细介绍了如何为已定义的类添加方法,包括通过指针引用进行方法调用,以及方法与类型绑定的过程。

Go是一门地地道道的面向对象的语言,但是他没有大部分面向对象语言的关键字class,不过这并不影响这门优秀的语言发挥面向对象的特性。


Go语言通过struct关键字来定义一个类,在定义时,仅仅定义了字段,并没有定义函数,例如


定义一个Person类,并指定姓名和年龄属性,但是无法指定test方法(行为)。

type Person struct {
	Name string
	Age uint8
	//func test()	//不可以这样做
}

Go是通过Reciver来完成函数与类的连接工作的,下面,就给Person类增加test方法

package main

import (
	"fmt"
)

func (per Person) test1() {
	per.Name = "lniwn"
	per.Age = 23
	per.flag = 1
}

func (per *Person) test2() {
	per.Name = "lniwn"
	per.Age = 23
	per.flag = 2
}

type Person struct {
	Name string
	Age  uint8
	flag byte
	//func test()	//不可以这样做
}

func main() {
	pp := Person{}
	pp.test1()
	fmt.Println(pp.Name, pp.Age, pp.flag)
	pp.test2()
	fmt.Println(pp.Name, pp.Age, pp.flag)
}

func关键字 + (绑定类型) + 函数名(参数) + 返回值

就将一个方法与一个类型绑定起来了,默认是拷贝(如test1),可以通过传递指针(如test2)来使修改值一直生效。

### 如何在Simulink中实现Raised Cosine Receiver设计与仿真 #### 设计概述 在无线通信系统中,升余弦滤波器广泛应用于信号处理阶段以减少码间干扰 (ISI)[^1]。为了实现在 Simulink 中的 Raised Cosine Receiver 的设计与仿真,可以遵循以下方法。 #### 创建模型结构 启动 MATLAB 和 Simulink 后,在新建空白项目基础上构建所需模块连接图。主要组件应包括信道编码、调制解调以及匹配滤波等部分。 #### 添加并配置升余弦滤波器 通过 `Comm` 库中的 “RRC Filter” 或者自定义方式来添加升余弦滤波器到接收端路径上[^2]: ```matlab % 定义参数 span = 10; rolloffFactor = 0.5; % 构建升余弦滤波器对象 rctFilt = comm.RaisedCosineTransmitFilter('Shape','Normal', ... 'RolloffFactor', rolloffFactor, ... 'OutputSamplesPerSymbol', span); ``` 此段代码用于创建一个具有指定滚降因子和每符号采样数目的升余弦传输滤波器实例。 对于可视化分析其特性,可利用如下命令查看该滤波器的时间域脉冲响应图像[^3]: ```matlab fvtool(rctFilt,'Analysis','impulse') ``` 这有助于理解所选参数下滤波效果的具体表现形式。 #### 实现同步训练序列自相关计算 当涉及到帧同步时,通常会采用特定模式作为前导字节以便于检测起始位置。下面给出了一种简单的方法来进行同步训练序列的自相关运算,并绘制图形展示结果[^4]: ```matlab subplot(Nc,Nr,1) autocorr1 = abs(xcorr(tr_sync1_I+sqrt(-1)*tr_sync1_Q)); plot(autocorr1); hold on; plot(training_s_len,autocorr1(training_s_len),'*r'); title('Autocorrelation of synchronization training sequence 1'); ``` 上述代码片段展示了如何基于接收到的数据流执行复数互相关的绝对值操作,进而识别出最可能对应于发送方插入的已知序列的位置。 #### 整合各功能块完成整体架构搭建 最后一步就是把之前准备好的各个独立单元按照实际需求合理组合起来形成完整的接收机框架。确保输入输出接口正确对接,并调整好相应属性设置使得整个链路能够正常运作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值