golang
golang学习
memories198
这个作者很懒,什么都没留下…
展开
-
gin框架的html页面渲染
] : 匹配指定范围的字符 e.g: file[1-3].html 即file.html或file2.html或file3.html。:匹配单个任意字符 额 e.h: hell?.html 即格式为hell_.html的所有文件。* :匹配任意长度的字符串 e.g: h*.html 即以h开头 .html结尾的所有文件。这个函数不可以使用通配符,必须指定清楚要加载的文件名。要传递的信息data不仅可以使map类型,还可以是struct、JSON等等类型。这个函数可以使用通配符,即*、原创 2024-01-13 10:09:47 · 541 阅读 · 1 评论 -
如何gin框架中使用中间件进行用户身份校验
/你可以写一些自己鉴权函数的处理逻辑,我在这里简单的举一个获取cookie失败的例子if err!= nil {"message": "用户未登录",})c.Abort() //c.Abort()的作用是直接终止请求的处理,请求处理权不会在传递给接下来的handerfunc函数,直接向前端返回结果returnc.Next() //c.Next()的作用是将请求处理权交给下一个函数,即AuthMiddleware函数处理完后交给handerfunc函数继续处理。原创 2024-03-05 11:31:06 · 260 阅读 · 0 评论 -
如何与通过docker守护进行交互来进行远程控制docker
1.2 按i进行编辑,添加以下内容,并按esc,最后按:wq保存 1.3 重新加载刚才修改的配置文件 1.4 重启docker守护进程2. 配置好docker后我们尽可以写代码与docker守护进程进行交互了 2.1 我使用的是"github.com/fsouza/go-dockerclient"库(因为这是目前使用最多的库)提供的接口与docker守护进程进行交互,首先我们需要下载这个库 2.2 下载好后,写代码原创 2024-02-15 17:56:07 · 593 阅读 · 1 评论 -
使用go语言启动docker容器
containerID需要替换为自己的docker容器的ID。原创 2024-02-19 21:36:42 · 210 阅读 · 1 评论 -
gin框架-解析前端传来的json
这种方法更方便,但是没有上面的通用性强。原创 2024-02-21 21:37:28 · 402 阅读 · 0 评论 -
使用go语言查看所有docker容器
【代码】使用go语言查看所有docker容器。原创 2024-02-19 19:48:04 · 140 阅读 · 1 评论 -
gin框架的基本使用操作
gin框架的基本使用操作原创 2023-12-31 14:13:03 · 530 阅读 · 1 评论 -
gc和gccgo编译器
编译器,因为它是默认的选择并且拥有良好的性能。但如果您需要对特定平台进行编译或者有特定的需求,也可以考虑使用 GCCGO 编译器。Go 语言有两个主要的编译器,分别是 Go 编译器(通常简称为 gc)和 GCCGO。总的来说,大多数用户会使用官方的。原创 2024-05-24 23:45:40 · 617 阅读 · 0 评论 -
panic对defer语句的执行的影响
1.主线程中的panic会直接导致。原创 2024-05-25 00:13:58 · 218 阅读 · 0 评论 -
goto关键字的使用
1.声明一个标签,例如step1、step22.使用goto关键字跳转到标签处。原创 2024-05-24 23:51:43 · 212 阅读 · 0 评论 -
堆和栈的特点以及在golang中的应用
堆(Heap)和栈(Stack)是计算机内存管理中常见的两种数据结构,它们在内存分配和管理方面有着不同的特点:堆(Heap):堆是一块用于动态分配内存的区域,通常由操作系统管理。堆内存的分配和释放不是按照特定的顺序进行的,而是根据程序的需要动态地分配和释放。堆内存的生存期由程序员控制,需要手动分配和释放,如果没有正确释放堆内存,可能会导致内存泄漏。堆内存的访问速度相对较慢,因为它的分配和释放可能涉及到复杂的内存管理操作。原创 2024-05-27 23:19:49 · 360 阅读 · 0 评论 -
下载文件(Go语言)
在 Go 语言中,可以使用标准库中的net/http包来下载文件。原创 2024-08-19 00:05:45 · 462 阅读 · 0 评论 -
使用go语言实现快速排序、归并排序、插入排序、冒泡排序、选择排序
【代码】使用go语言实现冒泡排序、选择排序和插入排序。原创 2024-07-04 19:48:18 · 510 阅读 · 0 评论 -
获取操作系统的信息(Go语言)
runtime包:获取基本的操作系统类型和架构信息。os包:获取主机名、环境变量等系统信息。包:获取更详细的系统统计信息(如内存、CPU 信息)。原创 2024-08-18 23:59:39 · 503 阅读 · 0 评论 -
go语言中map为什么不会自动初始化?
需要分配内存和设置相关的数据结构,这有一定的性能开销。将隐式地分配内存,这是Go语言设计者希望避免的。Go语言鼓励显式地初始化和分配内存,以便程序员对内存的使用有更明确的控制。:Go语言中的每种类型都有一个零值,例如整型的零值是0,布尔型的零值是false,指针的零值是nil。不会自动初始化是为了保持一致的零值设计原则,避免隐式的内存分配,并让程序员明确控制初始化时机和相关开销。变量但不初始化它时,这个变量的值是nil。类型,零值是nil。,必须显式地初始化它,通常使用内置的。总结起来,Go语言的。原创 2024-08-08 15:53:25 · 463 阅读 · 0 评论 -
gRPC使用教学
创建一个.proto文件,定义你的 gRPC 服务和消息类型。例如,创建//生成的路径,生成在当前路径的hello目录中,hell没有时会自动创建// 定义请求消息// 定义响应消息// 定义服务。原创 2024-08-09 14:50:48 · 359 阅读 · 0 评论 -
go语言项目架构示例
设计一个Go项目架构需要考虑代码的组织、依赖管理、错误处理和测试。遵循最佳实践和标准结构可以提高代码的可维护性和可扩展性。在Go语言中设计项目架构时,通常会考虑可维护性、可扩展性和可读性。使用协议缓冲区(Protocol Buffers)和gRPC进行API设计,确保高效、跨语言的通信。Go语言鼓励模块化设计,将不同功能拆分到独立的包中。通过接口来定义模块之间的依赖,方便替换实现和单元测试。编写单元测试来确保代码的正确性和稳定性。使用依赖注入模式来管理依赖关系,方便测试和扩展。目录来区分对内和对外的包。原创 2024-08-08 15:56:09 · 559 阅读 · 0 评论 -
使用go语言高效解析json详解(含多个json库的对比)
encoding/json 是 Go 语言的标准库,易用性高且内置于 Go 语言中。然而,由于依赖于反射机制,它在高并发和大数据处理时性能较低。对于基本的应用场景,encoding/json 完全够用,但在追求高性能的应用中可能成为瓶颈。jsoniter 是一个高性能的 JSON 解析库,自称比标准库快三倍。它通过优化反射和内存分配机制,提高了解析速度。在大多数基准测试中,jsoniter 显示出比 encoding/json 更好的性能,特别是在处理大数据量和复杂 JSON 结构时。原创 2024-06-22 21:22:37 · 2094 阅读 · 1 评论 -
如何为服务器生成一个TLS证书
要生成 TLS 1.3 的证书,可以使用 OpenSSL 工具,它是一个广泛使用的开源工具,能够生成和管理 SSL/TLS 证书。以下是生成自签名 TLS 1.3 证书的详细步骤。原创 2024-08-09 16:14:34 · 490 阅读 · 0 评论 -
go语言设置定时任务
在 Go 语言中,可以使用time包来设置一个定时任务。下面是一个简单的示例,展示了如何在每天早上 9 点输出一条消息。原创 2024-08-16 17:05:05 · 539 阅读 · 0 评论 -
根据字符串的长度和字符值的大小来对字符串切片进行排序
在 Go 语言中,根据字符串的长度和字符值的大小来对字符串切片进行排序。示例如下:解释:自定义类型: 是一个基于 的自定义类型,用于实现排序接口。实现 接口:排序:在 函数中,使用 函数对字符串切片进行排序。运行这个程序后,可以看到字符串按长度排序,如果长度相同,则按字典顺序排序。例如:在这个例子中,“kiwi” 和 “pear” 都是四个字符长,“kiwi” 在字典顺序上先于 “pear”。“apple”、“grape”、“banana” 和 “orange” 按长度排列,然后根据字典顺原创 2024-08-16 15:30:17 · 246 阅读 · 0 评论 -
go语言中的指针自动解引用
Go语言允许指针类型加不加星号都可以访问其字段,这是因为编译器会自动解引用指针。这种设计简化了代码,使得指针的使用更加直观和便捷,同时保持了一致性。开发者因此可以用更简洁的语法实现功能,而不需要频繁处理指针解引用的细节。原创 2024-08-08 15:51:31 · 524 阅读 · 0 评论