- 博客(22)
- 收藏
- 关注
原创 面试- Java基础题1
面向对象和面向过程是两种不同的处理问题的角度。面向对象简称OOP,是一种编程的方法论,通过“对象”来组织代码和数据。OOP的核心思想在于将对象的属性和行为封装在一起,提高代码复用性、灵活性和扩展性。面向对象主要特点有以下:1. 封装:通过封装隐藏对象的状态信息,不允许外部直接进行访问,通过类的方法获取该类的私有属性。连接数据库的时候,我们只需要调用方法就可以,不需要关心内部实现细节,这就是封装的好处。2. 继承:创建一个新类从父类中继承属性和方法,可以直接扩展方法;
2025-06-24 16:13:09
652
原创 Go语言- goroutine(协程)和channel(管道)
Goroutine可以被看作是一种轻量级的线程,但它们由Go运行时管理,而非操作系统直接管理。意味着创建和切换goroutine的成本比传统线程低得多。进程:进程是资源分配的基本单位。线程:进程的一个执行实例,最小的执行单位。一个操作系统线程中可以运行多个Goroutine(协程),也可以不运行任何Goroutine。在Go的主线程中可以轻松运行上万个协程。加锁解决的问题1)等待所有goroutine全部完成的时间很难确定,所有的等待时间都是我们估算的。
2025-06-23 19:29:29
2129
原创 Go语言- 单元测试
实际开发中,需要保证单元功能正确。传统方式:在main函数中直接调用,查看结合是否和预期一致。缺点:1. 不方便 2. 不利于管理因此,单元测试具有必要性。
2025-06-22 18:43:51
733
原创 Go语言- JSON序列化和反序列化
json就是一种数据格式,以键值对的形式展现。在网络传输过程中,先将数据(结构体,map等)序列化为json字符串,接收方拿到json后反序列化拿到原始数据。(前后端进行数据交互)只要是涉及到数据传输,都将数据序列化为Json格式。Json数据格式,最顶层只能是{}或者是[]"age": 30以上两种正确{ "name": "Alice" } ← 第一个对象{ "name": "Bob" } ← 第二个对象(非法)[1, 2, 3] ← 第二个顶层结构(非法)等等...以上错误。
2025-06-22 13:35:57
400
原创 Go语言-客户信息管理系统
3)根据用户的输入调用其他文件完成客户的管理(修改、删除、显示等)。该程序能实现对客户对象的插入、修改和删除(使用切片实现),并且能打印客户明细表。model层定义数据、service层真正开展业务逻辑、view层负责展示。(忽然发现visio没法用了...随便找了个线上绘图的,凑活看吧各位)编码的时候要合理规划结构,利用面向对象思想,保证程序的可扩展性。完成对用户的各种操作。(对客户的增删改查)首先按照分析框架创建文件,文件结构如图。模拟基于文本页面的“客户管理系统”。导入go.mod文件。
2025-06-20 17:27:32
441
原创 Go语言-记账软件
2. 该程序能记录家庭的收入、支出,并能打印收支明细表。1. 模拟实现基于文本页面的“家庭记账软件”。后续打算接入数据库,做账号登录功能,转账功能。
2025-06-12 15:19:34
250
原创 Go语言-类型断言
类型断言(Type Assertion)是一种用来检查接口变量具体类型的方法。从接口值中提取出底层的具体类型值,或者验证接口值是否持有特定的具体类型。
2025-06-12 12:55:05
432
原创 Go语言-多态
多态是面向对象的第三大特征,Go语言中,多态是通过接口实现的。多种实现类型可以按照统一的接口来进行调用,这时接口变量就呈现不同的形态。// 接口定义:会叫的能力Speak()// 类型1:狗fmt.Println("汪汪")// 类型2:猫fmt.Println("喵喵")// 类型3:牛fmt.Println("哞哞")// 统一调用函数a.Speak()MakeSound(dog) // 汪汪MakeSound(cat) // 喵喵MakeSound(cow) // 哞哞。
2025-06-12 12:01:10
398
原创 Go语言-接口(interface)
在go语言中,多态的特性主要是通过接口来实现。interface可以定义一组方法,但是不能包含方法体。interface中不可以包含任何变量。在接口方法实现的时候,参数列表和返回值列表要保持完全一致。接口体现了程序设计的高内聚低耦合思想。Go语言中实现接口是基于方法的,而不是基于接口本身(方法只要包含了接口中的方法就实现了该接口)。因此go中的接口是隐式的,跟java是不同的。
2025-06-11 18:39:57
844
原创 Go语言-抽象、封装、继承
将物理世界中事物的公有属性拿出来,抽象为代码中的结构体。结构体可以涵盖客观事物的属性和行为。这里省略介绍...封装就是将结构体的字段和对字段的操作封装起来,不让使用者直接操作结构体中的数据,而是通过函数或者方法才能操作结构体字段,这也就是授权操作。封装的好处:隐藏实现细节、保证安全性...对于相似的对象,代码容易出现大量冗余,比如可乐、雪碧、芬达等对象。代码不利于维护也不利于功能扩展。使用继承的方式来解决,提高代码复用性。继承提高代码复用性,扩展性和维护性。
2025-06-09 17:41:36
651
原创 Go语言-面向对象编程实例
编写一个 Student结构体包含 name、gender、age、id、score 字段,分别为 string、string、imnt、int、float64类型。结构体中声明一个 say方法,返回 sting类型,方法返回信息中包含所有字段值。在 main 方法中,创建 Student结构体实例(变量),并访问 say方法,并将调用结果打印输出。案例2 编写一个立方体结构体,存放立方体的长宽高,使用方法返回该立方体的体积。
2025-06-09 14:57:16
207
原创 Go语言-方法method
格式:func (变量名 变量类别) 函数名(接受参数...)(返回类型){方法体returnp.test()方法只能通过绑定的结构体变量来使用,具体就是p.test(),不可以直接在包内调用,如test()。也不可以通过其他结构体调用。sum, res := p.test(1, 2) //类型推导,不需要定义。
2025-06-09 14:01:37
435
原创 Go语言-结构体struct
Go语言支持面向对象编程(OOP),但并不是纯粹的面向对象语言。Go语言中没有class这个概念,通过struct(结构体)实现面向对象。Go语言中面向对象编程非常简洁,舍弃了、方法重载、构造函数、this指针等概念。Go语言仍然有面向对象编程的继承,封装和多态特性,实现方式和传统的OOP语言不一样(java)。比如java是通过匿名字段实现继承。
2025-06-07 00:35:58
392
原创 Go语言-Map数据结构
Map是一种存储键值对的无序引用类型数据结构,支持动态扩容。key类型多样(int、string、struct等),但不可用slice/map/function作为key。使用需先声明后make初始化,提供增删改查功能:直接赋值增改、delete()删除、双返回值查询。遍历用for-range,长度用len()。实现map切片时需双重make,通过append动态扩展。排序需借助切片存储key后sort排序;反向查找需遍历实现。注意map作为引用类型的特性及嵌套map的初始化要求。
2025-06-04 21:20:55
361
原创 《网络是怎样连接的》读书笔记(自用)
用户输入url指定浏览器的运作方式,常见的url开头有http(访问web服务器)、ftp(访问FTP服务器,上传下载文件时使用)、file(读取本地文件)、mailto(发送电子邮件)、news(读取新闻)。格式见书P6。
2025-05-30 15:47:09
1813
原创 软件开发中需要的几种图(笔记)
| CustomerID | 整数 | | 下单客户的ID | | 外键关系至某关系 |:描述数据的信息集合,信息中包括表名、列(属性)名、列的数据类型、列的描述、列的最大长度精度、索引信息、关系信息、视图信息、触发器信息、权限和安全信息。实体是现实中存在的对象,有具体的也有抽象的。③对数据的加工处理:此单元就是对数据的处理,它接受一定的数据输入、并且对其进行处理,然后产生输出。
2023-10-14 18:12:00
2010
1
原创 使用code::blocks配置winpcap环境
Linker settings中需要添加lib文件,分别为wpcap.lib和Packed.lib.还有在路径C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib下的WS2_32.Lib。3.在路径WpdPack_4_1_2\Include\pcap\pcap.h文件中加一句:#define WIN32.用来声明在Windows系统中使用。Search directories中导入include文件和include下的pcap文件。
2023-09-02 00:35:13
316
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅