- 博客(860)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 静态博客指南
Hexo 最大的问题在于他的主题系统太过于静态以及过度地依赖纯字符串,而我们十分希望能够好好地利用 Vue 来处理我们的布局和交互,同时,Hexo 的 Markdown 渲染的配置也不是最灵活的。VuePress 能做的事情,Nuxt 理论上确实能够胜任,但 Nuxt 是为构建应用程序而生的,而 VuePress 则专注在以内容为中心的静态网站上,同时提供了一些为技术文档定制的开箱即用的特性。在构建时,我们会为应用创建一个服务端渲染(SSR)的版本,然后通过虚拟访问每一条路径来渲染对应的HTML。
2023-11-25 11:38:40
86
原创 Linux C++网络编程-王健伟
(1)课程总述(2)基础要求和学习方法(3)简要自我介绍、讲解特点(4)课程详细说明(5)推荐书籍(6)结语(1)windows下的vs2017安装(2)准备一个word文档(3)windows下的虚拟机安装(4)虚拟机中安装linux 操作系统(5)配置固定IP地址(6)配置远程连接(7)安装编译工具gcc,g++ 等(8)共享一个操作目录。
2023-11-25 11:09:36
276
原创 golang学习笔记——并发计算斐波纳契数
实现并发的改进版本。完成此操作需要几秒钟的时间(不超过 15 秒),就像现在这样。应使用有缓冲 channel。使用两个无缓冲 channel:一个用于计算斐波纳契数,另一个用于等待用户的“退出”消息。golang学习笔记——并发计算斐波纳契数。
2023-11-25 00:15:00
165
原创 169. 多数元素(majority-element)
给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。**进阶:**尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。
2023-11-25 00:00:29
140
原创 golang学习笔记——接口和继承比较2
给运动员和学生结构体添加studyEnglish方法显示是可以的,但是篮球动员和中学生也学习了英语,显示不行。这时,我们可以直接给足球运动员和大学生添加方法,这样子足球运动员和大学生都可以学习英语了。接口比继承更加灵活,继承是满足 is - a的关系, 而接口只需满足 like - a 的关系。现在有一个需要要求大学生和足球运动员掌握英语技能,请问怎么实现?,设计好各种规范(方法),让其它自定义类型去实现这些方法。其实,仔细一想这样有点不太规范。继承的价值主要在于:解决代码的。接口 在一定程度上实现。
2023-11-25 00:00:00
92
原创 golang学习笔记——错误处理
之类的内置函数来管理程序中的异常或意外行为。但错误是已知的失败,你的程序应该可以处理它们。函数,向错误添加更多上下文,但仍返回原始错误。将错误返回给调用方,而不执行其他任何操作。使用以下代码片段来练习各种错误处理策略。使用重试策略调用函数三次并等待两秒钟。函数允许你比较获得的错误的类型。函数,以展示如何处理错误。我们将重点介绍如何修改。函数创建错误并重复使用。
2023-11-24 11:45:00
30
原创 循环队列的几种实现方式
每次的入队操作都将 flag 置为 true , 每次的出队操作都将 flag 置为 false。使用一个标记 flag 来判断当前队列是空还是满。浪费一个格子, 用来判断队列是空还是满。
2023-11-24 09:44:59
32
原创 golang学习笔记——创建项目
从Go 1.8开始,将GOPATH设置为环境变量不是必需的。如果我们没有设置一个,Go使用默认的GOPATH为。可以看到,相关依赖都下载到了pkg目录,下的mod子目录。查看默认GOPATH目录,进入目录。项目目录下还多了一下go.sm文件。查看go.mod文件。
2023-11-24 00:00:00
102
原创 26. 删除有序数组中的重复项(remove-duplicates-from-sorted-array)
给你一个的数组nums,请你**** 删除重复出现的元素,使每个元素,返回删除后数组的新长度。元素的应该保持。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为knumsnumsknumsnumsnumsk如果所有断言都通过,那么您的题解将被。首先注意数组是有序的,那么重复的元素一定会相邻。要求删除重复元素,实际上就是将不重复的元素移到数组的左侧。考虑用 2 个指针,一个在前记作 p,一个在后记作 q,算法流程如下:1.比较 p 和 q 位置的元素是否相等。
2023-11-23 21:46:06
89
原创 golang学习笔记——将 channel 用作通信机制
让我们看看它们的工作原理,以及如何开始使用它们来编写并发 Go 程序。如果没有另一个 goroutine 从 channel 接收数据,则整个程序可能会永久处于被阻止状态。有时,在使用多个 channel 时,需要等待事件发生。例如,当程序正在处理的数据中出现异常时,可以包含一些逻辑来取消操作。函数创建 channel 时,会创建一个无缓冲 channel,这是默认行为。语句,但它适用于 channel。它会阻止程序的执行,直到它收到要处理的事件。语句的一个重要方面是,它在处理事件后完成执行。
2023-11-23 12:00:00
131
原创 golang学习笔记——罗马数字转换器
根据规律,减去当前值(代码里是将当前位置数字设为负值,再相加,也是一样的道理)。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。当前位置的元素比下个位置的元素小,就减去当前值,否则加上当前值。请记住在有些情况下,较小的数字会排在较大的数字前面,因此不能仅仅将数字相加。通常情况下,罗马数字中小的数字在大的数字的右边。当前位置的元素比下个位置的元素小,就减去当前值,否则加上当前值。如果用户输入的字母与上述列表中的不同,则打印一个错误。给定一个罗马数字,将其转换成整数。
2023-11-23 00:15:00
399
原创 golang学习笔记——使用映射
Go 中的映射是一个哈希表,是键值对的集合。映射中所有的键都必须具有相同的类型,它们的值也是如此。不过,可对键和值使用不同的类型。例如,键可以是数字,值可以是字符串。若要访问映射中的特定项,可引用该项的键。如果不想使用项来初始化映射,可使用内置函数 make() 在上一部分创建映射。在 Go 中,映射的下标表示法可生成两个值。若要从映射中删除项,请使用内置函数 delete()。会首先生成项的键,然后再生成该项的值。果你尝试删除不存在的项,Go 不会执行 panic。会首先生成项的键,然后再生成该项的值。
2023-11-22 20:30:00
37
原创 golang学习笔记——切片
切片是数组或另一个切片之上的数据结构。我们将源数组或切片称为基础数组。通过切片,可访问整个基础数组,也可仅访问部分元素。若要解决此问题,你需要创建一个切片副本,它会在后台生成新的基础数组。可在输出中看到字母 B 已替换为 Z,它会影响指向 letters 数组的每个切片。下述代码确认切片指向数组,而你在切片中所做的每个更改都会影响基础数组。此时 slice1 中的更改并未影响新的 slice2。
2023-11-22 11:00:00
63
原创 golang学习笔记——接口和继承比较1
当A结构体继承了B结构体,那么A结构体就自动的继承了B结构体的字段和方法,并且可以直接使用。当A结构需要扩展功能,同时不希望去破坏继承关系,则可以去实现某个接口即可,因此我们可以认为:实现接口是对继承机制的补充。
2023-11-21 21:00:00
84
原创 golang学习笔记——要求用户输入一个数字,如果该数字为负数,则进入紧急状态
编写一个要求用户输入一个数字的程序。此程序要求用户输入一个数字,然后将其输出。X现在,请忽略用户输入的内容可能不是整数这种可能性。
2023-11-21 00:15:00
192
原创 golang学习笔记——类型
Go 是一种强类型语言。你声明的每个变量都绑定到特定的数据类型,并且只接受与此类型匹配的值。引用类型:指针、切片、映射、函数和通道。基本类型:数字、字符串和布尔值。聚合类型:数组和结构。
2023-11-21 00:00:00
19
原创 golang学习笔记——日志记录
该标准包不提供日志级别,且不允许为每个包配置单独的记录器。如果需要编写更复杂的日志记录配置,可以使用记录框架执行此操作。错误的默认字段名称是error,您可以通过设置zerolog来更改此名称。从Go 1.8开始,将GOPATH设置为环境变量不是必需的。通常,发生错误时,最终用户只会看到一条消息,指示程序出现问题。除了将日志打印到控制台之外,你可能还希望将日志发送到文件,以便稍后或实时处理这些日志。只需设置一次前缀,日志就会包含日志源自的函数的名称等信息。Go 提供了一个用于处理日志的简单标准包。
2023-11-20 23:15:00
67
原创 golang学习笔记——多态
演示一个案例:给Usb数组中,存放Phone结构体和Camera结构体变量,Phone还有一个特有的方法call(),请遍历Usb数组,如果是Phone变量,除了调用Usb接口声明的方法外,还需要调用Phone特有方法call。在前面的Usb接口案例,Usb usb,即可以接收手机变量,又可以接收相机变量,就体现了Usb接口多态。接口体现多态的两种形式。
2023-11-20 22:45:00
137
原创 golang学习笔记——switch 判断语句
由于第一个 case 语句包含 fallthrough 关键字,因此逻辑会立即转到下一个 case 语句,而不会对该 case 进行验证。该代码产生的行为可能不是你想要的。在某些编程语言中,你会在每个 case 语句末尾写一个 break 关键字。但在 Go 中,当逻辑进入某个 case 时,它会退出 switch 块,除非你显式停止它。在 Go 中,可以在 switch 语句中省略条件,就像在 if 语句中那样。switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。
2023-11-20 19:30:00
29
原创 golang学习笔记——fmt.Printf()、fmt.Print() 和 fmt.Println()区别
上面的代码会输出 “Hello, Alice!注意,你需要自己处理字符串的拼接。中的函数,它们都可以用于在控制台输出文本。上面的代码会输出两行内容:“Hello, Alice!如果你只需要简单地输出一个字符串或变量,那么。如果你需要在输出的字符串后面添加一个新行,那么。上面的代码会输出 “Hello, Alice!是一个占位符,表示一个字符串。还有其他的占位符,比如。总的来说,如果你需要格式化输出,那么。这三个函数都是 Go 语言标准库。也会自动处理字符串的拼接。
2023-11-20 18:15:00
171
原创 golang学习笔记——使用结构体
有时,你需要在一个结构中表示字段的集合。例如,要编写工资核算程序时,需要使用员工数据结构。在 Go 中,可使用结构将可能构成记录的不同字段组合在一起。Go 中的结构也是一种数据结构,它可包含零个或多个任意类型的字段,并将它们表示为单个实体。要声明结构,需要使用 struct 关键字,还要使用希望新的数据类型具有的字段及其类型的列表。
2023-11-20 13:30:00
40
原创 golang学习笔记——条件表达式
在 Visual Studio Code 中,如果你的 Go 语法在条件中包含括号,系统会在你保存程序时自动删除括号。块内声明变量是惯用的方式。这是一种使用在 Go 中常见的约定进行高效编程的方式。但是,你需要先了解一些差异,然后才能得心应手地编写 Go 程序。但是,大括号仍然是必需的。此外,为了减少行,Go 不支持。与其他编程语言不同的是,在 Go 中,你不需要在条件中使用括号。在任何编程语言中,最基本的控制流都是。函数返回的值,并且该变量在所有。语句的 Go 语法。请注意,在此代码中,
2023-11-20 08:00:00
294
原创 golang学习笔记——Map
Go语言中 map的定义语法如下其中,KeyType:表示键的类型。ValueType:表示键对应的值的类型。map类型的变量默认初始值为nil,需要使用make()函数来分配内存。其中cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量。
2023-11-20 01:00:00
269
原创 golang学习笔记——生成随机整数的函数Int31n
rand.31n()函数是Golang标准库中用来生成介于0到n之间的随机整数的函数。其中n是指定的范围,可以是任意正整数。该函数的具体实现方式是在go语言内部使用C语言的随机数生成函数来生成随机数。具体来说,rand.Int31n()函数的参数n表示要生成的随机数的范围,可以是1到n,也可以是1到100等任意范围内的正整数。如果n的值大于等于0,则该函数会返回一个在0到n之间(包括n)的随机整数。如果n的值小于0,则该函数会抛出RangeError异常。
2023-11-19 20:30:00
110
原创 golang学习笔记——基础03
扩容时,Go 运行时会分配一个新的底层数组,并将原始切片中的元素复制到新数组中。然后,原始切片将指向新数组,并更新其长度和容量。需要说明,slice 并不是数组或数组指针。它通过内部指针和相关属性引用数组片段,以实现变长方案。当切片的长度超过其容量时,切片会自动扩容。数组与切片有时比较难以分辨,可以通过定义与规则来区分。函数预先分配足够大的切片来避免频繁扩容。如果你知道要添加多少元素,可以使用。函数向切片中添加元素时。
2023-11-19 14:00:00
105
原创 golang学习笔记——接口interfaces
interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法)。接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。为了保护你的Go语言职业生涯,请牢记接口(interface)是一种类型。Go 中的接口是满足隐式实现的。Go 不提供用于实现接口的关键字。
2023-11-18 23:15:00
566
1
原创 golang学习笔记——编写 FizzBuzz 程序
首先,编写一个用于输出数字(1 到 100)的程序,其中有以下变化:如果数字可被 3 整除,则输出 Fizz。如果数字可被 5 整除,则输出 Buzz。如果数字可同时被 3 和 5 整除,则输出 FizzBuzz。如果前面的情况都不符合,则输出该数字。尝试使用 switch 语句。
2023-11-18 05:00:00
458
原创 golang学习笔记——基础02
可以看到,三个内存地址都不同,这也就验证了 Go 中数组赋值和函数传参都是值复制的。这会导致大量消耗内存的问题。有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。在 Go 中,与 C 数组变量隐式作为指针使用不同,Go 数组是值类型,赋值和函数传参操作都会复制整个数组数据。下表列出了所有Go语言的逻辑运算符。下表列出了所有Go语言的关系运算符。假定 A 值为 10,B 值为 20。这也就证明了数组指针确实到达了我们想要的效果。下表列出了所有Go语言的赋值运算符。下表列出了Go语言的其他运算符。
2023-11-18 00:45:00
117
原创 golang学习笔记——查找质数
编写一个程序来查找小于 20 的所有质数。质数是大于 1 的任意数字,只能被它自己和 1 整除。“整除”表示经过除法运算后没有余数。与大多数编程语言一样,Go 还提供了一种方法来检查除法运算是否产生余数。我们可以使用模数(百分号)运算符。在本练习中,你将更新一个名为findprimes的函数,以检查数值是否为质数。该函数有一个整数参数,并返回一个布尔值。函数通过检查是否有余数来测试输入数字是否为质数。如果数字为质数,则该函数返回 true。使用以下代码片段作为起点,并使用正确的语法替换??
2023-11-17 04:30:00
577
原创 golang学习笔记——指针
make也是用于内存分配的,区别于new,它只用于slice、map以及chan的内存创建,而且它返回的类型就是这三个类型本身,而不是他们的指针类型,因为这三种类型就是引用类型,所以就没有必要返回他们的指针了。make函数是无可替代的,我们在使用slice、map以及channel的时候,都需要使用make进行初始化,然后才可以对它们进行操作。new函数不太常用,使用new函数得到的是一个类型的指针,并且该指针对应的值为该类型的零值。本节开始的示例代码中。
2023-11-17 01:00:00
288
原创 winRAR常用命令
可以在任务计划程序中执行上面的命令,又或者创建一个以bat为后缀名的文件,把这条命令写进去,然后执行这个bat文件。rem 从压缩包中读取注释,写入到read.txt文件,默认ASCII,参数-scuc表示unicode。推荐使用bat文件,这样在你想备份一次的时候,执行一次这个bat文件就好了。rem 添加注释,注释从一个txt文件读取,txt文件名info.txt。rem 使用压缩包捏的绝对路径解压,解压指定类型文件,并解压到指定文件夹。rem 使用压缩包捏的绝对路径解压,解压指定类型文件。
2023-11-09 12:28:55
122
原创 rust学习——智能指针Rc
Rc/Arc是不可变引用,你无法修改它指向的值,只能进行读取,如果要修改,需要配合后面章节的内部可变性RefCell或互斥锁Mutex一旦最后一个拥有者消失,则资源会自动被回收,这个生命周期是在编译期就确定下来的Rc只能用于同一线程内部,想要用于线程之间的对象共享,你需要使用ArcRc是一个智能指针,实现了Deref特征,因此你无需先解开Rc指针,再使用里面的T,而是可以直接使用T,例如上例中的。
2023-10-30 00:30:00
167
1
原创 rust学习——插件rust-analyzer安装与配置
rust-analyzer有一个。安装前请先卸载其他rust插件。首次安装会下载语言服务。
2023-10-28 00:30:00
337
tomcat8-maven-plugin-3.0-r1655215.jar
2020-10-26
ventoy-1.0.19-linux.tar.gz
2020-08-27
电子面单系统
2016-01-28
queryMobile
2014-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人