自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(243)
  • 资源 (1)
  • 收藏
  • 关注

原创 部首礻和衤的区别

视觉上,这两个部首非常相似,都有两个横线和一个垂直的下划线,但它们的上半部分有所不同:在“礻”,上半部分是类似“乍”的形状,而在“衤”,上半部分是类似“亠”的形状。这个小差异是它们的主要区别,它们所属的字和含义也因此不同。

2024-02-27 10:45:59 398

原创 go.mod与module

在 Go 语言的项目中,go.mod文件是 Go Modules 依赖管理系统的核心文件之一。在go.mod文件中,module声明是用来定义当前项目的模块路径的。模块路径是项目中包的导入路径的前缀。下面是关于go.mod文件中modulemodule。

2024-01-03 16:54:14 748 3

原创 Go代码解密:理解byte和int8的边界行为

在这篇博文中,我们将深入探讨Golang中的二进制补码和类型转换。通过一个具体的代码示例,我们将揭示byte和int8类型在特定条件下的行为,并解释为什么这种行为会发生。我们将详细讨论补码的概念,以及如何应用补码来表示负数。此外,我们还将解释为什么在对byte和int8类型的值取负数时,结果可能会与我们的直觉不符。通过阅读这篇文章,你将更深入地理解Golang中的数值类型和二进制补码,以及它们在实际编程中的应用。

2023-10-25 10:48:38 244

原创 子切片的长度和容量

在Go语言中,切片有两个属性,长度和容量。

2023-10-25 09:48:36 205

原创 Go构建者模式

构建者模式是一种创建型设计模式,用于构建复杂的对象。它可以确保在一个 struct 有多个构造函数参数时依旧能保持代码的可读性与清晰性。

2023-10-17 17:42:11 371

原创 Go选项模式

选项模式是一种在 Go 语言中很常用的设计模式,特别是当你有一个结构体或函数,并且它有多个可选的配置选项时。该模式允许用户提供一系列的的函数来设置结构体的属性或修改函数的行为。函数类型定义了如何修改目标对象。这是提供自定义逻辑的关键。

2023-10-15 15:53:12 180

原创 mac安装python2

Python 2 于 2020 年 1 月 1 日宣布结束支持,包括 Homebrew 在内的许多项目和包管理器已经停止支持 Python 2。

2023-09-27 17:13:46 1011

原创 strconv使用指南

String Conversion,字符串转换strconv 是 Go 语言标准库中的一个「包」,提供了将字符串与基本数据类型(如整数、浮点数、布尔值)之间相互转换的功能。

2023-09-13 17:40:34 313

原创 Go中带标签的break/continue以及goto的差别

直接跳到标签所标记的最外层循环的下一个迭代,忽略当前迭代剩余的代码。直接跳出标签所标记的最外层循环,继续执行该循环之后的代码。goto可以无条件地跳转到程序中指定的标签处。在这种情况下,可以使用任意标签,不仅限于循环。

2023-08-17 20:53:11 3071

原创 Golang自定义类型与类型别名

类型别名则是给现有类型起一个新的名字,新的名字与原始类型在类型系统中是完全相同的。自定义类型可用于封装或抽象,而类型别名则可以用来确保向后兼容或简化类型名称。通过了解这些区别,可以更灵活地使用Go语言的类型系统来满足各种编程需求。类型别名则只是给现有类型起一个新名字,与原始类型在类型系统中完全相同。自定义类型会创建一个全新的类型,与原始类型在类型系统中是不兼容的。的别名,所以不会产生任何编译错误。,但它们在类型系统中是不同的。通过这种方式定义的类型是一个。有相同的底层结构,但是却与。

2023-08-14 19:45:17 4466

原创 B站播放器播放策略介绍

AV1:适合寻求最新、最高效编码技术的场景,尤其是在不受限于许可费用和复杂性的情况下。HEVC:适合需要高压缩效率但也需要广泛硬件支持的场景,尤其在可以承担许可费用的情况下。AVC:适合需要广泛兼容性和低硬件要求的场景,尤其是在不追求最高压缩效率的情况下。例如,与HEVC相比,AV1提供更高的压缩效率,意味着它能以更小的文件大小来存储同样质量的视频,这样可以节约存储空间和带宽。然而,AV1的编码和解码过程更为复杂,需要更多的计算资源和时间,这可能导致在某些硬件上编码和解码速度较慢。

2023-08-14 18:11:21 19310

原创 理解 Go 中的切片:append 操作的深入分析(篇2)

理解 Go 语言中 slice 的性质对于编程非常有益。下面,我将通过代码示例来解释切片在不同函数之间传递并执行 append 操作时的具体表现。的第一个元素,将其设为 2。本篇为第 2 篇,当切片的容量 cap 不够时。的第一个元素设为 1(这个更改也反映在。当新的底层数组准备好之后,我们再次更改。的容量已满(3/3),所以。操作会触发底层数组的扩容。

2023-08-14 11:57:02 4567

原创 理解 Go 中的切片:append 操作的深入分析(篇1)

理解 Go 语言中 slice 的性质对于编程非常有益。下面,我将通过两个代码示例来解释切片在不同函数之间传递并执行 append 操作时的具体表现。

2023-08-14 11:30:44 4383 1

原创 Golang字符串处理深入解析:探索 strings 标准库的全部方法

标准库提供了许多用于处理字符串的函数。包提供了强大的功能,用于在 Go 中操作和转换字符串。

2023-08-11 14:25:50 767

原创 Go中for循环的遮挡效应

在一个for循环中,如果我们在循环体内部声明了一个与初始化语句中的变量同名的变量,那么这个新变量会“遮挡”外部的同名变量。但这种遮挡只在声明它的那一行代码开始,直到循环体结束的范围内有效。当下一次循环开始时,外部的同名变量会重新显现,并继续使用for声明语句中的值。这一行代码就像是在房间的一角放了一个遮挡灯光的屏风。想象成一个房间里的灯泡,而。

2023-08-10 11:09:11 3979

原创 python: command not found

命令会找到每一个 “python” 字样,并把它替换成 “python3”。

2023-08-01 15:05:40 7701

原创 透明网关与不透明网关

透明网关:透明网关对于客户端和服务器来说是"不可见"的。客户端不需要知道网关的存在,也不需要对其进行特别的配置。所有的请求和响应都会自动地通过网关,而不需要任何人工干预。非透明网关:非透明网关对于客户端来说是"可见"的。客户端需要明确地向网关发送请求,然后网关将请求转发给服务器。透明网关和非透明网关各有优点和缺点。

2023-08-01 14:51:20 2365

原创 为什么加密后的密文还要进行Base64编码

所以,通常在网络中传输加密后的密文时,都会先进行Base64编码。

2023-07-28 11:17:34 5027

原创 概念理解:幂等

在网络和分布式系统中,幂等性尤其重要。如果一个操作是幂等的,那么即使因为网络问题导致这个操作被执行多次,结果也不会受到影响。比如HTTP协议中,GET、PUT、DELETE方法设计为幂等的,但POST方法则不是。如果你可以多次调用一个函数,每次都得到相同的结果,那么我们就可以说这个函数是幂等的。例如,一个删除特定记录的函数通常是幂等的,因为无论你调用它多少次,那个记录最后都是被删除的。"幂等"是一个数学和计算机科学术语,描述的是一种属性,即一个操作可以被多次应用,但结果仍然不变。

2023-07-28 11:10:53 3396

原创 Go基准测试Benchmark

Go语言自带了一个强大的测试框架,其中包括基准测试(Benchmark)功能,基准测试用于测量和评估一段代码的性能。基准测试结果会显示每次操作的平均时间,可以通过这个结果来评估你的代码的性能,或者对比不同版本或不同实现的性能差异。基准测试函数的名字必须以"Benchmark"开头,后面跟着的是想要命名的测试名字,函数的唯一参数是一个指向。我们可以通过在Go的测试文件中编写特殊格式的函数来创建基准测试。标志后面跟着的是一个正则表达式,匹配你想要运行的基准测试函数的名字,是一个非常大的数,Go测试框架。

2023-07-27 14:47:45 3852

原创 Go分析堆/栈内存

在Go语言中,变量是否在栈上还是在堆上分配是由编译器在编译阶段进行"逃逸分析"决定的。如果一个变量只在函数作用域内部使用,它往往会被分配在栈上;如果一个变量被外部引用,或者被返回到函数外部,那么它就可能"逃逸"到堆上。编译器将输出关于变量如何被分配的信息。上述输出表明,在main.go的第14行,变量 x 逃逸到了堆。要查看一个Go程序的逃逸分析结果,你可以在构建程序时使用。

2023-07-26 15:12:59 4399

原创 goland设置内置命令行为当前项目环境

修改 GoLand 中的 SSH 终端配置即可。goland设置内置的命令行为当前项目环境。

2023-07-17 16:25:40 4629

原创 Go语言中的init函数简介

函数的主要目的是在包被导入时进行初始化操作,例如。

2023-07-17 08:48:59 4044

原创 如何理解闭包函数的特性(golang版)

即 makeAdder 函数接收了一个整数作为参数,并返回一个匿名函数。而返回的匿名函数就是闭包函数,因为它引用了 makeAdder 函数作用域中的变量 base,这就是闭包函数的结构定义。而在闭包函数特性这块,我们可以看到,在闭包函数里,我们首先令变量 base 的值为 10。这说明每一次调用闭包的时候,它里面的值还是初始值。特性:闭包可以在多次调用之间保持原始状态。在这个例子中,我们可以将函数。

2023-07-16 20:48:25 5149

原创 goland自定义代码模版

在 GoLand 中我们既可以修改已有代码模版,也可以新建属于我们自己的代码模版,按需配置。

2023-07-16 17:56:01 448

原创 go语言中的string类型简介

在 Go 和 Java 中,字符串在内存中都被当作常量处理。函数:这种方法适用于你已经准备好所有需要拼接的字符串的情况,且允许我们在拼接的字符串中插入分隔符,这在某些情况下是必需的。但是这种方法会消耗大量内存。在 Go 语言中,字符串由 Unicode 字符组成,每个字符都可以用一个或多个字节来表示。来定义字符串,使用反引号定义的字符串不会对其内容进行任何的转义(例如文本中包含。类型:这种方法适用于你没有提前准备好所有需要拼接的字符串的情况。在 Go 中,String 是一种不可变的类型,不能被修改。

2023-07-16 14:58:44 4455

原创 go语言中的Scan函数简介

String scan,从字符串中读取数据。Sscanf 的用法与 Scanf 类似,只是会从字符串中读取数据而不是标准输入。:按照指定格式对输入进行解析。在 Go 语言中,从标准输入(默认是键盘)读取数据可以使用 fmt 包中的 Scan 和 Scanln 函数。:类似于 Scan,但是只能读取一行数据(将换行符视为终止),如果输入的数据格式不正确,将返回错误。:请勿混淆各种输入方式的用法。获取输入,但是却采用了。:注意这里是 &num。

2023-07-16 14:55:46 4674

原创 开发人员&名词解释

开发人员&名词解释

2023-07-16 14:52:41 209

原创 Go语言中的JSON库简介

Go 标准库中的包提供了 JSON 数据的编码和解码功能。在日常开发中,我们主要使用的函数有解析字符串类型的和,以及处理流式 JSON 数据的和。

2023-07-15 23:58:54 1168

原创 print与fmt.Print的区别

重定向到一个已经关闭或不可写的文件,或者发生了类似的问题,fmt.Println可能就会返回错误。在大多数情况下,fmt.Println不会返回错误。如果没有发生错误,我们将打印出写入的字节数。如果发生错误,我们将错误信息写入到。在这个示例中,我们打印了。

2023-07-15 23:18:15 359

原创 go mod vendor简明介绍

vendor 机制并不是一个完美的解决方案。它需要将所有的依赖都复制到 vendor 目录中,这可能会导致项目的大小变得非常大。另外,这可能会对代码审查和版本控制系统(如 Git)的性能产生负面影响。因此,从Go 1.11版本开始,使用 Go Modules 进行依赖管理已经成为了推荐的做法,而vendor机制逐渐被淡化。不过,vendor目录并没有被完全废弃。

2023-07-15 22:56:08 1700

原创 Go Module简明介绍

Go Modules 模式中,引入了项目级别的依赖管理,使得每个项目都可以独立管理自己的依赖关系。当我们使用 Go Modules 模式后,项目中会自动创建 go.mod 文件,其中记录了项目所依赖的模块及其版本信息,当我们引入一个新的依赖时,go.mod 也会被自动更新。的 GOPATH 模式中,所有 Go 代码都必须位于一个全局的 GOPATH 路径之下,这使得在不同项目中使用不同版本的依赖包非常困难。

2023-07-15 22:52:01 4535

原创 marshal为什么是序列化

这个词在很多情况下被翻译为 “序列化”,这是因为在英语中 “marshal” 一词有时用于表示将数据转换为可传输或存储的格式。这种转换通常涉及将数据结构或对象转换为字节流或类似的格式,以便在不同系统或组件之间进行通信。

2023-07-13 20:19:00 4000

原创 zsh自定义命令行提示符

zsh自定义命令行提示符

2023-07-13 19:56:24 615

原创 Golang版本控制器:gvm

要在Mac电脑上切换Golang版本,可以使用类似版本管理工具的工具来实现,例如。安装 Golang 版本(这里我安装了 2 个不同的版本)刷新系统配置使 gvm 生效。验证 Golang 版本。

2023-07-11 18:05:42 933

原创 《计算机体系结构》2022年期末试卷

《计算机体系结构》2022年期末考试。

2023-06-18 10:09:06 1021

原创 《编译原理》2022年期末试卷

《编译原理》2022年期末考试。

2023-06-18 10:03:20 1602 1

原创 MIPS公式转换

Millions of Instructions Per Second,每秒执行的百万条指令数。:Cycles Per Instruction,每条指令的周期数。

2023-06-16 09:26:39 313 1

原创 十六进制写法0x16与16H、0x16H的区别

在表示十六进制数时,有一些不同的表示法,但是它们在语法上是有规定的:0x1616H0x16H。

2023-06-15 09:52:56 1855

原创 往届信息安全试卷+答案

汇总

2023-06-11 16:12:31 868

2022年Oracle最新发布jdk1.8(Windows x64 .exe)

2022年Oracle最新发布jdk1.8(Windows x64 .exe)

2022-03-05

空空如也

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

TA关注的人

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