自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(191)
  • 收藏
  • 关注

原创 C++面试题

TOCTOC。

2024-09-18 19:48:25 1067

原创 qt相关面试题

TOCTOC。

2024-09-18 15:29:59 1383

原创 QT中常用类的成员(2024.8.20更新)

/ QUrl 类是 Qt 框架中用于处理 URL 的重要类。以下是 QUrl 类的所有成员函数和枚举类型的详细列表:// 构造函数QUrl();// 默认构造函数,创建一个空的 QUrl 对象// 从字符串创建 QUrl 对象// 从字符串和解析模式创建 QUrl 对象// 拷贝构造函数// 移动构造函数// 析构函数~QUrl();// 析构函数// 公共成员函数// 赋值运算符// 移动赋值运算符// 交换函数// 检查 QUrl 是否为空// 检查 QUrl 是否有效。

2024-08-21 08:00:00 2639 2

原创 200道C/C++面试题

200道C/C++面试题

2024-08-05 21:31:54 3731

原创 Cloudflare 2025 年 11 月 18 日故障报告

2025年11月18日,Cloudflare发生全球性网络故障,导致用户访问客户网站时出现HTTP 5xx错误。故障源于数据库权限变更,使机器人管理系统使用的特征文件重复条目激增,文件体积超出软件限制。

2025-11-19 22:46:30 755

原创 Go 语言的 channel

它可以同时等待多个 channel 的事件发生,并在其中一个 channel 可用时执行相应的操作。Go 使用 make 函数来创建 channel,并通过指定类型来确定 channel 传递的数据类型。有缓冲的 channel 可以存储一定数量的数据,当缓冲区满时,发送操作将被阻塞,直到有数据被接收。类型安全:channel 的类型在定义时是固定的,一个 channel 只能传输一种类型的数据。通知接收方没有更多的数据会被发送。无缓冲(默认)和 有缓冲:channel 可以是无缓冲的(默认)或有缓冲的。

2025-10-04 13:30:00 4391

原创 Go 语言的 panic 和 recover

Go语言通过panic和recover处理异常:panic用于触发不可恢复错误,终止当前函数执行;recover则需在defer中调用,用于捕获panic并恢复程序执行。实际应用中,panic适用于严重错误(如数组越界),recover通常用于Web中间件或数据库事务等场景。开发者应避免滥用,优先使用显式错误处理,因为它们不适合高频代码或并发错误处理。典型的Web服务器案例展示了如何用recover捕获panic并返回500错误,防止程序崩溃。

2025-10-04 12:15:00 470

原创 go中的Ticker

Go语言中的time.Ticker提供了一种高效的周期性任务执行机制。它通过内部协程定期向通道发送时间信号实现定时触发,包含三个核心组件:定时通道C、停止通道Stop和时间间隔period。典型用法是通过select语句监听Ticker.C通道,实现周期性任务执行。开发者可以结合context包实现任务超时或手动取消,通过监听ctx.Done()来优雅终止定时任务。这种基于协程和通道的设计既保证了线程安全,又提供了灵活的定时控制能力,非常适合需要周期性执行的场景。

2025-10-04 11:00:00 500

原创 Go语言中的map

Go语言中的map是一种无序的键值对数据结构,适合实现哈希表、字典等功能。map通过make()或字面量创建,键必须是可比较类型(如字符串、数字等),而值可以是任意类型。基本操作包括插入、更新、删除元素,以及通过range遍历(顺序随机)。map是引用类型,自动扩容,查找效率高(O(1))。常见应用场景包括去重、频率统计和缓存。需注意未初始化的nil map会引发运行时错误,而空map需通过make()创建。

2025-10-03 18:22:58 351

原创 Go中的字符串

Go字符串处理摘要 Go字符串支持UTF-8编码,具有不可变性。关键特性包括: 使用双引号定义普通字符串,反引号定义原始多行字符串 字符串长度按字节计算,处理字符需转rune类型 提供多种高效操作:字符串拼接推荐strings.Builder;支持切片、比较、查找、替换、分割等操作 类型转换:可转为[]byte或[]rune处理 实用函数:大小写转换、修剪空白等 注意字符串拼接性能,避免频繁内存分配

2025-10-03 17:31:35 616

原创 go中的切片

本文介绍了Go语言中数组和切片的核心概念与区别。数组是固定长度的值类型集合,长度在编译时确定,内存连续。切片是动态视图,可变化长度和容量,属于引用类型。切片通过底层数组实现,支持append、copy等操作,但需要注意共享底层数组可能导致的数据修改问题。文章详细讲解了切片的扩容机制(容量1024以下两倍扩容)、零值与空切片的区别、浅拷贝特性,以及在循环中使用append可能导致的性能问题。通过示例代码展示了数组和切片的基本操作及常见陷阱,如切片操作不复制底层数组、append可能触发重分配等情况。

2025-10-02 21:58:44 665

原创 lua 元表

在 Lua 中,元表(Metatable)是一种强大的机制,它允许程序员自定义表(table)的行为。通过使用元表,你可以改变表的运算符重载、方法调用、索引方式等行为。元表能够让 Lua 的表更具灵活性和功能性。

2024-12-17 12:23:37 404

原创 lua 函数

使用 function 关键字来定义一个函数。-- 函数体return value -- 可选,返回值endendprint(add(2, 3)) -- 输出: 5Lua 允许函数接收可变数量的参数,可以使用 … 来表示。endprint(concatenate("apple", "banana", "cherry")) -- 输出: apple, banana, cherry一个闭包是在其外部函数的作用域中定义的函数,它可以捕获和访问该作用域中的变量。

2024-11-12 20:02:59 650

原创 lua 中引用

在 Lua 中,引用(或引用类型)涉及到如何处理表(Arrays,Tables)和其他复杂数据结构。与基本数据类型(如数字、字符串和布尔值)不同,表是引用类型,这意味着它们在内存中的处理方式与基本数据类型有所不同。我们用到的所有的 table 都是匿名的,所有的变量,只是对其引用而己。我们对于 table的操作仅仅是对其引用的操作。对于 Table 的引用,类似于 C++中 shared_ptr 对于对象的托管一样,采用了引用计数的方式。

2024-11-11 08:16:47 780

原创 lua 数组

table 是 Lua 中唯一的数据结构,其他语言所提供的数据结构,如:arrays、records、lists、 queues、 sets 等,Lua 都是通过 table 来实现在 lua 中通过整数下标访问 table 中元素,即是数组。并且数组大小不固定,可动态增长。数组是有序的对象的装置,它可以是包含含有多个行和列的行或多维阵列的集合的单个二维数组。

2024-11-11 08:16:25 1285

原创 lua 字符串

Lua 提供了字符串处理函数,可以方便地处理字符串。使用一对匹配的单引号.例:‘hello’.使用一对匹配的双引号.例:“abclua”.字符串还可以用一种长括号(即[[ ]]) 括起来的方式定义.

2024-11-09 17:30:32 640

原创 lua ruturn 和goto

goto 语句,可以跳到程序中的任意 Label 标号,其 Label 的书写方式 ::name::。lua 虽然没有提供 continue 逻辑,contiune 的逻辑本质就是过滤,可以能过合理的安。return 只能出现在,语句块的结尾,或是 end,else 和 until 的前面。标号处的语句是依次执行的。不要理解为 Label 后的语句是函数,等待被调用。function 语句用于定义函数,可以指定函数名、参数、返回值、函数体。goto 语句不能跨越函数,也不能跳入局部变量的作用域。

2024-11-09 17:30:11 560

原创 lua 运算符和控制语句

=~=>=<=andornot..a and b 当 a 为真时返回 b, 当 a 为假时,返回 a 条件表达式 a?b:aa or b 当 a 为真时返回 a, 当 a 为假时,返回 b 条件表达式 a?a:bnot a 当 a 为真时返回假,当 a 为假时,返回真 条件表达式 a?false:true。

2024-11-06 20:50:31 851

原创 Lua数据类型

Table 类型中一种基于 k-v 类型,实现了一种抽象的 “map”。索引 k 通常是字符串(string) 或者 number 类型,但也可以是除 nil 以外的任意类型。并不展开(此举,跟 C++11 中 R"(hello lua)"相似) , 2 -> 便于多行书写。对于无 key 的类型,此时的 key 类型为 number,下标从 1 开始,下标依次累加。字符串还可以用一种长括号(即[[ ]]) 括起来的方式定义。Lua 中没有字符类型,所谓的字符类型也是含有一个字符的字符串而己。

2024-11-06 20:49:41 554

原创 final,finally,finalize的区别

finalize 是一个方法,属于 java.lang.Object 类。在垃圾回收之前,系统会调用这个方法,允许程序员在对象被回收之前释放资源或执行清理操作。注意,使用 finalize 方法并不推荐,因为它的调用时机是不确定的,并且在Java 9中已经被标记为弃用。finally 是一个关键字,用于异常处理中的一种结构。无论是否捕获了异常,finally 块中的代码都会执行。通常用于释放资源或执行清理操作。final 是一个关键字,用于声明一个不可改变的实体。可以用于类、方法和变量。

2024-10-06 20:30:57 624

原创 最新版IntelliJ IDEA 2024.2.3 创建SpringBoot项目(包含各种依赖的选择和功能)

在顶端几个选项可以选择创建基本的java项目填写项目名称,文件位置,选择构建工具。

2024-10-06 20:21:36 13292 2

原创 微信原生小程序

在微信小程序中,自定义组件是一种将功能封装为独立的组件,以便复用和管理的方式。自定义组件可以包含自身的模板、样式和逻辑,帮助你保持代码的清晰和模块化。创建组件目录:在小程序的 components 目录下创建一个新的文件夹,例如 my-component。创建组件文件:my-component.wxml:组件的模板文件。my-component.wxss:组件的样式文件。my-component.js:组件的逻辑文件。my-component.json:组件的配置文件(可选)。

2024-10-04 16:05:36 2161 2

原创 HTML详解

HTML 基础HTML 标题HTML 段落HTML 链接HTML 图片HTML 元素HTML 注释HTML 属性HTML 文本格式化HTML 头部HTML cssHTML 表格HTML 列表HTML 自定义列表HTML 区块HTML 表单HTML 框架HTML 颜色HTML 脚本HTML 事件HTML 实体HTML urlHTML5 新元素 新元素 新元素 新元素 新元素 新元素 新元素新表单元素 新元素uotput 新属性新的语义和结构元

2024-10-04 16:04:42 1545

原创 qml focus 焦点

在QML中,focus属性是一个布尔值,用于控制一个元素是否可以接收键盘输入。当一个元素具有焦点时,它可以响应键盘事件,如按键按下、释放等。以下是关于如何在QML中使用focus属性的详细介绍:基本概念焦点(Focus):一个元素如果具有焦点,意味着它是当前接收键盘输入的元素。键盘事件:具有焦点的元素可以接收和处理键盘事件,如onPressed、onReleased等。设置焦点你可以通过设置focus属性为true来使一个元素获得焦点。焦点转移焦点可以在不同的元素之间转移。

2024-09-23 15:39:46 1378

原创 qml ComboBox 组合框

width: 640ComboBox {// 自定义委托,用于显示下拉框中的每一项// 必需的属性,用于访问模型数据和索引text: delegate.model[control.textRole] // 显示模型中的文本color: "#21be2b" // 文本颜色font: control.font // 使用ComboBox的字体elide: Text.ElideRight // 文本过长时省略号显示。

2024-09-23 15:39:15 1109

原创 go语言网络编程

TOCTOC。

2024-09-22 19:10:04 1784

原创 Go语言中的并发编程

发送通道:可以使用 chan<- 来表示一个只用于发送数据的通道。接收通道:可以使用 <-chan 来表示一个只用于接收数据的通道。import ("fmt"// 定义一个函数,接受一个发送通道作为参数 在这个函数中,ch 被定义为一个发送通道,意味着这个函数只能向 ch 发送数据,无法从中接收数据messages := []string{"消息1", "消息2", "消息3"}ch <- msg // 发送消息close(ch) // 关闭通道。

2024-09-22 15:19:28 1582

原创 go 反射

用于检查接口、切片、映射、指针和通道等是否为 nil。只在引用语义类型上有效。用于检查反射值是否有效。适用于所有类型,检查是否由合理的 reflect.ValueOf() 生成。在Go语言项目中,反射可以在特定情况下提供灵活性和简洁性。以下是一些,适合使用反射:1. 序列化和反序列化反射广泛用于实现数据的序列化和反序列化,比如将结构体转换为 JSON 或从 JSON 转换为结构体。通过反射,可以遍历结构体的字段并动态处理它们。

2024-09-21 23:25:22 1164

原创 go 接口

type 接口类型名 interface {方法名 1(参数列表 1) 返回值列表 1 方法名 2(参数列表 2) 返回值列表 2 … } 其中: - 接口类型名:Go语言的接口在命名时,一般会在单词后面添加`er`,如有写操作的接口叫`Writer`,有关闭操作的接口叫`closer`等。接口名最好要能突出该接口的类型含义。- 方法名:当方法名首字母是大写且这个接口类型名首字母也是大写时,这个方法可以被接口所在的包(package)之外的代码访问。

2024-09-21 21:34:00 1202

原创 Go 语言的垃圾回收机制

TOCTOC。

2024-09-21 17:51:18 986

原创 go语言 结构体

在Go语言中有一些基本的数据类型,如string整型浮点型布尔等数据类型,Go语言中可以使用type关键字来定义自定义类型。自定义类型是定义了一个全新的类型。//将MyInt定义为int类型// 方法的实现func (接收者变量 接收者类型) 方法名(参数列表) (返回参数) {函数体- 接收者变量:接收者中的参数变量名在命名时,官方建议使用接收者类型名称首字母的小写,而不是`self`、`this`之类的命名。

2024-09-21 17:50:43 839

原创 go 指针

指针类型:Go 中的指针由 * 符号表示。例如,*int 表示一个指向整数的指针。获取地址:使用 & 符号可以获取变量的地址,例如 &x 表示变量 x 的地址。解引用:通过 * 符号可以获取指针指向的值,例如 *ptr 可以获取 ptr 指向的值。零值指针:指针的零值为 nil,在使用指针之前应确保它不为 nil。指针与性能:虽然使用指针可以提高性能,但过度使用指针可能会导致代码难以理解和维护。Go语言中使用&字符放在变量前面对变量进行“取地址”操作。

2024-09-21 15:27:09 543

原创 go/函数

我们可以使用type关键字来定义一个函数类型,具体格式如下:import ("fmt"// 定义一个函数类型// 定义两个具体的函数符合这个类型在这个例子中,IntOperation是一个函数类型,它接受两个int参数并返回一个int值。

2024-09-21 15:26:38 1280

原创 go语言Map详解

Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。它提供了高效的查找、插入和删除操作,非常适合用于构建关联数组或字典。

2024-09-20 23:48:32 1388

原创 go语言 数组和切片

arrayName 是数组的名称。size 是数组的长度(固定的)。dataType 是数组中元素的数据类型。

2024-09-20 22:52:39 1508

原创 go语言基础入门(一)

可以在常量声明中使用算术运算与iota结合,创建具有特定增量的常量。const (_ = iota // 忽略第一个值(0)fmt.Println(Two, Four, Six) // 输出: 2 4 6在这个例子中,我们定义了一个 Weekday 类型,并使用 iota 来生成枚举值。然后,我们为 Weekday 类型实现了 String 方法,这样在打印枚举值时,会输出对应的字符串名称,而不是整数值。

2024-09-20 22:49:27 1512

原创 qml ListView 列表视图

在QML(Qt Modeling Language)中,ListView元素用于显示列表数据。它可以绑定到一个模型,并根据模型中的数据自动生成多个项。

2024-09-20 14:15:18 468

原创 qml Repeater 重复器

在QML(Qt Modeling Language)中,Repeater元素用于创建多个相同或相似的项。它通常与ListView、GridView或其他容器一起使用,以便动态生成多个项。

2024-09-20 14:14:54 549

原创 c++面试题

浅拷贝:浅拷贝在复制对象时,只复制对象中的基本数据类型成员和指针值,而不复制指针指向的内存内容。这意味着复制后的对象中的指针将与原对象共享同一块内存。如果某个对象被析构,而该对象的指针指向的内存也被释放,那么其他共享同一内存的对象可能会访问已释放的内存,导致未定义行为甚至程序崩溃。这种情况称为“双重释放”(double free)。在C++中,如果没有为类定义自定义的拷贝构造函数,编译器提供的默认拷贝构造函数就是浅拷贝。

2024-09-20 11:02:16 490

原创 c++面试题

TOCTOC。

2024-09-20 11:01:43 333

非常好用的思维导图工具

非常好用的思维导图工具

2024-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除