当前位置: 首页 > news >正文

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.lryc.cn/news/364616.html

相关文章:

  • C# 判断字符串不等于空的示例
  • 直方图中最大的矩形
  • 分布式锁redisson
  • 将小爱音箱接入 ChatGPT 和豆包ai改造成专属语音助手
  • 短网址生成原理及使用
  • C#调用word组件转pdf,遇到视图保护解决方法
  • NAT端口映射,实现外网访问内网服务器
  • 【面试笔记】嵌入式软件工程师,汽车电子软件相关
  • uniapp小程序开发 | 从零实现一款影视类app (后台接口实现,go-zero微服务的使用)
  • 【C#】委托
  • 【面试题】创建两个线程交替打印100以内数字(一个打印偶数一个打印奇数)
  • PgMP考试结束后多久出成绩?附成绩查询方法
  • springboot项目Redis统计在线用户
  • GNeRF论文理解
  • 0531作业 链表
  • C++ STL - 容器
  • AI生成沉浸式3D世界(空间照片/视频)
  • 【Vue】异步更新 $nextTick
  • 【uCOS-III-编程指南】
  • 2004NOIP普及组真题 2. 花生采摘
  • SAP-SD-21-定义用于定价补充的定价过程
  • Android AAudio——C API创建AudioTrack(六)
  • 实验七、创建小型实验拓扑《计算机网络》
  • SqlServer2016企业版安装
  • HBase数据库面试知识点:第一部分 - 基础概念与特点(持续更新中)
  • 一个高效的go语言字符串转驼峰命名算法实现函数
  • Python中__init__方法的魔力:构建对象的基石
  • Appium安装及配置(Windows环境)
  • CANOE制造dll文件,以及应用dll文件
  • C++结合OpenCV进行图像处理与分类