- 博客(68)
- 收藏
- 关注
原创 Go、Java、C++语言实现多态的方式
虽然Go语言本身并不直接支持类和传统的面向对象继承,但它通过接口(Interface)实现了多态。Go的接口类型定义了一组方法签名,任何实现了这些方法的类型都自动实现了该接口,从而实现了“鸭子类型”的多态。总结起来,Go、Java、C++语言都通过各自的机制(Go的接口、Java的继承与接口、C++的虚函数与继承)实现了多态,允许在程序设计中以统一接口处理不同类型的对象,提高了代码的灵活性和可扩展性。Go、Java、C++语言实现多态的方式各有特色,但都遵循面向对象编程的基本原则。
2024-03-29 19:31:39 568
原创 Go语言爬虫实战(线程池)
可以通过对网站的观察我们可以发现网站各个页面之间微小的变化,然后将需要爬取的网页存储在一个切片当中,之后重复第一步即可。通过观察Html文本中图片的地址,并写出对应的正则表达式,匹配所有符合的图片信息。保存正则表达式的匹配结果,并对其发起GET请求获取图片资源信息。在存储图片的时候,获取图片的后缀以及获取图片原名称来命名图片。细节:通过浏览器的开发者模式,可以更快找到图片的地址。对指定URL发去GET请求,获取对应的响应。通过返回的响应获取网站的Html文本内容。// HandleError 错误。
2024-03-29 11:47:13 1800
原创 Go vs Java线程池
线程池的思路和生产者消费者模型是很接近的准备一个任务容器一次性启动多个(2个)消费者线程刚开始任务容器是空的,所以线程都在wait直到一个外部线程向这个任务容器中扔了一个"任务",就会有一个消费者线程被唤醒这个消费者线程取出"任务",并且执行这个任务,执行完毕后,继续等待下一次任务的到来在整个过程中,都不需要创建新的线程,而是循环使用这些已经存在的线程。
2024-03-27 17:00:00 1053
原创 Gorm连接Mysql数据库及其语法
1.结构体的名称必须首字母大写,并且和数据库表名对应2.结构体中的字段名称首字母必须大写3.默认情况表名是结构体名称的复数形式4.可以使用结构体中自定义方法TableName改变结构体的默认表名称//默认来说User结构体应该操作users表的//利用下述方法就可任意操作数据库中的表格作用: 模型结构体嵌入了 gorm.Model,那么就自动拥有上述这些字段和方法,可以避免重复编写,提高开发效率。
2024-03-24 21:49:32 800
原创 Java进阶之旅第十四天(doge
控制台输出:打印流是Java标准输出流(System.out)的包装器,提供了方便的打印方法(如print和println),可用于在控制台上打印文本和数据。通过将关键变量和调试信息打印到控制台或日志文件中,可以帮助开发人员理解程序执行过程中的状态和行为。日志记录:打印流可用于将日志消息输出到文件或其他输出目标。通过将打印流指向文件,可以将日志消息保存到文件中,以便后续分析和调试。通过将打印流指向文件,可以将文本内容写入文件中,例如生成报告、写入配置文件等。
2024-02-20 22:49:23 681
原创 Java进阶之旅第七天
把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体满足条件1.引用处必须是函数式接口2.被引用的方法必须已经存在3.被引用方法的形参和返回值需要跟抽象方法保持一致4.被引用方法的功能要满足当前需求方法引用符: ‘::’引用方法需要使用类调用方法。
2024-01-23 21:32:03 462
原创 正则表达式(JAVA)
[TOC]正则表达式在用于校验信息是否满足某些规则的时候,非常的好用在文本中查找满足要求的内容java中的表示转义字符java匹配预定义字符需要进行转移PS:
2023-09-02 21:51:09 1183
原创 Gin各种参数接收
在传输或接受JSON数据时,通常习惯通过创建结构体的方式存储数据。结论: 方法的用法和querystring的基本一致。说明: Gin框架中不是每个数据格式都有对应的。方法和querystring用法基本一致。优点: 相比前面的更加快捷高效。
2023-08-14 17:17:28 1090
原创 C语言饭卡管理系统
假如你能认真的看下来你会发现我的代码是有许多累赘的,比如饭卡的定位,很多地方都会用到但我却没有另起一个函数,以及文件的删除,节点的连接等都是如此.所以说,大家在观看这个代码后希望大家可以写一个更好,更轻便的代码.。
2023-08-14 10:59:38 278
原创 Go语言template模板语法
在嵌套模板中存在预定义函数(官方已经定义好的)和自定义函数(自己定义的),自定义函数使得模板更加灵活.自定义函数通过调用Funcs()方法实现Funcs()方法定义:FuncMapd定义步骤:1.先到后端代码中定义一个函数: (匿名函数为例)2.调用Funcs()方法注意: 调用Funcs()方法,需要在解析模板前调用,也就是在Parse()方法前bytes,err := ioutil.ReadFile("文件名/文件路径")
2023-08-10 16:47:23 1190
原创 并发编程笔记
当一个协程需要等待 I/O 操作或者其他协程时,它会被阻塞,并从线程的本地队列中移除。如果当前线程的队列中没有可用的协程,总之,Go 语言的调度器是一个非常重要的组成部分,它为开发者提供了一个高效、易用、稳定的协程编程模型。通过调度器的支持,开发者可以轻松地编写高并发、高吞吐量的应用程序,从而提高应用程序的性能和稳定性。在 Go 语言中,协程是一种轻量级的线程,它们的创建和销毁非常快速,并且可以同时运行数千个协程。Go 语言的调度器可以在多个操作系统线程上并发地执行协程,从而充分利用多核 CPU 的性能。
2023-08-05 16:54:22 260
原创 channel通道笔记
语法1.一般使用make创建channel(常用),datatype是数据类型2.直接显示声明,创建的值为空,一般没有太大意义用法channel变量
2023-08-05 16:52:49 1027
原创 go语言文件读取方式
os包提供了一个独立于平台的接口来执行操作级操作。IOutil软件包提供了易于使用的实用程序函数来处理文件,而无需了解太多内部实现。bufio包实现了缓冲IO,这有助于我们提高输入和输出操作的性能和吞吐量。log?包实现一个简单的日志记录包。我们将在整个程序中使用它。我们将在程序中使用日志包的Fatal() 函数。
2023-07-12 16:33:42 504
原创 go语言 Sort包
类型功能对指定切片按照指定规则进行排序判断指定切片是否已经按照指定规则进行排序对指定切片按照指定规则进行排序,并对相等元素保留原来相对位置介绍这个属于排序的规则:也就是你写在函数里面的东西对结构体内部的某个成员进行排序类型功能常用与在有序的,可索引的,范围是[0,n)数据结构中查找值的索引i(注意n是切片的长度)例子:找一个比v大的第一个下标值。
2023-07-12 16:31:49 438
原创 ebiten 实现角色移动
image * ebiten . Image //精灵图 x float64 //人物生成横坐标 y float64 //人物生成纵坐标 speed float64 //人物移动速度 } type Game struct {x int //起点x y int //起点y width int //宽度 height int //高度 }
2023-06-17 19:59:04 246
原创 ebiten实现小方块移动(暑假游戏开发)
一个方块具有起点(x,y)和宽度,高度,因为需要移动所以少不了移动速度x float64 //方块绘制横坐标起点 y float64 //方块绘制纵坐标起点 width float64 //方块的宽度 height float64 //方块的高度 speed float64 //方块的行走速度 } //将方块结构体假如Game结构体当中,方便调用 type Game struct {
2023-06-17 17:53:38 291
原创 channel通道笔记
语法1.一般使用make创建channel(常用),datatype是数据类型2.直接显示声明,创建的值为空,一般没有太大意义用法channel变量
2023-06-09 23:06:22 318
大二数据结构作业,基于vs2022以及easyx开发的有图形界面的通讯录项目
2024-04-18
go语言的Fyne(第三方库)
2023-08-31
微信小程序导入外部文件问题
2023-05-30
go语言的ebiten游戏开发工具
2023-05-07
c语言的问题(不知道为什么)
2023-02-25
c语言的输出问题,不知道为什么
2023-02-12
关于#asp.net#的问题,请各位专家解答!
2022-12-09
关于vs code调试发生的问题
2022-11-14
关于#c++#的问题:我的解答思路和尝试过的方法
2022-11-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人