golang结构与接口方法实现与交互使用示例

1.定义结构 

// 结构定义
type VideoFrame struct {id   inthead []bytelen  int64data []byte
}

2.实现结构方法

// 生成结构字段的get与set方法
// ================================
func (v *VideoFrame) Id() int {return v.id
}func (v *VideoFrame) SetId(id int) {v.id = id
}func (v *VideoFrame) Head() []byte {return v.head
}func (v *VideoFrame) SetHead(head []byte) {v.head = head
}func (v *VideoFrame) Len() int64 {return v.len
}func (v *VideoFrame) SetLen(len int64) {v.len = len
}func (v *VideoFrame) Data() []byte {return v.data
}func (v *VideoFrame) SetData(data []byte) {v.data = data
}//================================

3.定义接口

// 接口定义
type myInterface interface {getVideoFrame() *VideoFrameFrameCount() int
}

4.结构实现接口方法

//实现接口方法func (v VideoFrame) getVideoFrame() *VideoFrame {mybyte := make([]byte, 32)copy(mybyte, "hello")vf := VideoFrame{id:   1111,head: mybyte,len:  128,data: []byte{01, 23, 45, 67, 89},}return &vf
}func (v VideoFrame) FrameCount() int {return 999
}

5.使用接口与结构方法

//使用接口方法vf := VideoFrame{}fmt.Println("===> FrameCount:", vf.FrameCount())fmt.Println("===>VideoFrame:", vf.getVideoFrame())//使用结构方法fmt.Println("===>VideoFrame->ID:", vf.Id())vf.SetId(8888)fmt.Println("===>VideoFrame-ID:", vf.Id())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/848530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React中使用 ts 后,craco库配置别名时需要注意什么?

文章目录 前言编译报错如下解决方式总结 前言 我们都知道craco库可以用来覆盖react配置,如设置别名等。但是在项目使用 Typescript 后,我们需要额外配置,否则会造成编译报错。 详细craco配置可以查看之前文章: 项目初始化与配置…

JDBC是什么?它如何工作?

一、JDBC概述 JDBC(Java Database Connectivity)是Java语言与数据库之间进行交互的API。它允许Java程序通过SQL(结构化查询语言)来执行各种数据库操作,如查询、更新、删除等。JDBC是Java应用程序访问数据库的标准方式…

探索 LLM 预训练的挑战,GPU 集群架构实战

万卡 GPU 集群实战:探索 LLM 预训练的挑战 一、背景 在过往的文章中,我们详细阐述了LLM预训练的数据集、清洗流程、索引格式,以及微调、推理和RAG技术,并介绍了GPU及万卡集群的构建。然而,LLM预训练的具体细节尚待进一…

Vue06-el与data的两种写法

一、el属性 用来指示vue编译器从什么地方开始解析 vue的语法,可以说是一个占位符。 1-1、写法一 1-2、写法二 当不使用el属性的时候: 两种写法都可以。 v.$mount(#root);写法的好处:比较灵活: 二、data的两种写法 2-1、对象式…

【java深拷贝和浅拷贝区别是什么?】

文章目录 Java深拷贝和浅拷贝的区别(1)浅拷贝(Shallow Copy)(2)深拷贝(Deep Copy) 总结 Java深拷贝和浅拷贝的区别 在Java中,深拷贝(Deep Copy)和…

【面试干货】SQL中count(*)、count(1)和count(column)的区别与用法

【面试干货】SQL中count(*)、count(1)和count(column)的区别与用法 1、count(*)2、count(1)3、count(column) 💖The Begin💖点点关注,收藏不迷路💖 在SQL中&a…

Oracle作业调度器Job Scheduler

Oracle数据库调度器 (Oracle Database Scheduler) 在数据库管理系统中,数据库调度器负责调度和执行数据库中的存储过程、触发器、事件等。它可以确保这些操作在正确的时间和条件下得到执行,以满足业务需求。 1、授权用户权限 -- 创建目录对象 tmp_dir…

5.4.18 加载某三方模块使用内核 panic 问题分析

环境信息 内核版本:5.4.18 cpu 架构:arm64 问题描述 加载了产品的某三方 ko 文件使用过程中,会触发如下 panic 信息: [ 218.133479][ 0] Unable to handle kernel NULL pointer dereference at virtual address 0000000000…

CSS函数:fit-content与matrix的使用

网格函数 fit-content()属于网格函数,除此之外的网格函数还有:CSS函数: 实现数据限阈的数字函数。顾名思义,这三个函数只能在网格布局中使用。fit-content()函数主要是用于给定布局可用大小,适应内容,其功…

MySQL事务与MVCC

文章目录 事务和事务的隔离级别1.为什么需要事务2.事务特性1_原子性(atomicity)2_一致性(consistency)3_持久性(durability)4_隔离性(isolation) 3.事务并发引发的问题1_脏读2_不可重…

基于小波域优化Savitzky–Golay滤波器的脑电图信号的运动伪影去除方法(MATLAB R2018A)

在获取或采集数据的过程中,不可避免地将噪声引入到数据中,噪声的存在使得原始数据发生变异,对数据的处理及分析产生严重地影响。常用的去噪模型有平滑去噪、均值去噪。其中,平滑去噪又包括移动平均平滑法和Savitzky-Golay卷积平滑…

一周学会Django5 Python Web开发 - Django5内置Auth认证系统-用户注册实现

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计57条视频,包括:2024版 Django5 Python we…

keil下载及安装(社区版本)

知不足而奋进 望远山而前行 目录 文章目录 前言 Keil有官方版本和社区版本,此文章为社区版本安装,仅供参考。 1.keil MDK 2.keil社区版介绍 3.keil下载 (1)打开进入登录界面 (2)点击下载,跳转到信息页面 (3)填写个人信息,点击提交 (4)点击下载…

韩国Neowine推出第三代强加密芯片ALPU-CV

推出第三代加密芯片;是ALPU系列中的高端IC;是一款高性能车规级加密芯片;其加密性更强、低耗电、体积小;使得防复制、防抄袭板子的加密性能大大提升,该芯片通过《AEC-Q100》认证,目前已经在国产前装车辆配件…

VMware Workstation虚拟机安装 CentOS 7.9 后ping ip地址出现错误:Network is unreachable

VMware Workstation虚拟机安装 CentOS 7.9 后ping ip地址出现错误:Network is unreachable 解决步骤: 进入目录 进入/etc/sysconfig/network-scripts/, cd /etc/sysconfig/network-scripts/修改文件 vi ifcfg-ens33变更项 ONBOOTyes保存…

算法学习笔记(7.6)-贪心算法(霍夫曼编码)

目录 1.什么是霍夫曼树 2.霍夫曼树的构造过程 3.霍夫曼编码 3.1具体的作用-频率统计 ##实战题目 1.什么是霍夫曼树 给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也…

ast.js是什么?

在devtools分析网站时,出现了ast.js的页面。那么,什么是ast.js?它有什么用? 经查询,AST是抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构。也就是说&…

vue3+uniapp

1.页面滚动 2.图片懒加载 3.安全区域 4.返回顶部,刷新页面 5.grid布局 place-self: center; 6.模糊效果 7.缩放 8.微信小程序联系客服 9.拨打电话 10.穿透 11.盒子宽度 12.一般文字以及盒子阴影 13.选中文字 14.顶部安全距离 15.onLoad周期函数在setup语法糖执行后…

论文阅读:Neural Scene Flow Prior

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址: