一个快速灵活的静态站点生成器,由[bep](https://github.com/bep)、[spf13](https://github.com/spf13)和[Go](https://go.dev/)的[friends](https://github.com/gohugoio/hugo/graph... ...
MIT6.5840 2024 Spring Lab1 前言 本文主要作为笔记使用,这次实验基本是边查GO的语法边做的,所以代码写的不够优雅,无法充分发挥GO的一些特性,因此本文的代码实现有很大的优化空间,欢迎各位大佬指正,希望本文能给一些正在学习的小伙伴提供一些思路。最后希望小伙伴们不要抄代码,可以 ...
1、锁的概念引入 首先,为什么需要锁? 在并发编程中,多个线程或进程可能同时访问和修改同一个共享资源(例如变量、数据结构、文件)等,若不引入合适的同步机制,会引发以下问题: 数据竞争:多个线程同时修改一个资源,最终的结果跟线程的执行顺序有关,结果是不可预测的。 数据不一致:一个线程在修改资源,而另一 ...
日志 最终实现的效果: (这里是json格式化了,你到时候可以不格式化看起来更装b点) log 输出打印 log日志最容易上手,默认自带时间戳打印日志内容 打印 //打印,默认带时间戳 log.Print("log Print") log.Println("log Println") log.Pri ...
res-downloader —— 一款基于 Go + Wails + Vue 实现的,支持下载视频、音频、图片、m3u8、直播流等常见网络资源的软件工具。 ...
一款由Golang+Vue开发的博客类网站,支持大模型对话编写智能博客,同时适配PC和移动端。系统主要包括
1、博客功能:博客编写也可对话AI模型协助编写、查询、编辑页面、详情页面、分享、导出功能
2、随问功能:接入大模型AI对话,采用流式响应,多轮对话。
3、白板功能:可以自动编写流程图、设计图等... ...
目录web网络编程Req快速请求调试DevModeDebugLogTraceInfo瓶颈分析控制请求与响应控制请求的字段内容控制调试打印的内容分开dump请求与响应部分请求体设置作用范围级别设置参数查询URL 路径参数表单请求设置请求头设置判断响应状态码解析数据SetSuccessResultgjs ...
在熟悉 go-zero 框架过程中踩坑很多,衍生的 go-zero-box 框架也是相当于经验贴了,希望可以帮助开发者更快的度过熟悉期。 ...
爆肝!!在我们使用安全工具的时候基本都会有一个输出功能,同样也很重要,所以下面介绍csv、json、html、sqlite的输出格式。 ...
最近在更新系统的时候发现pacman的命令行界面变了,我有很久没更新过设备上的Linux系统了,所以啥时候变的不好说。但这一变化成功勾起了我的好奇心。新版的更新进度界面如下: 新的更新进度界面能同时显示多个进度条,而且并没有依靠ncurses这个传统的TUI库。为啥我能断定没有用ncurses呢,因 ...
0、引言 相信大家对Map这个数据结构都不陌生,像C++的map、Java的HashMap。各个语言的底层实现各有不同,在本篇博客中,我将分享个人对Go的map实现的理解,以及深入源码进行分析,相信耐心看完一定会收获不少。 1、宏观结构 相信大家对于map的基本使用都不陌生,Golang中的map是 ...
下面通过一段代码来说明一下,数组和切片在go语言中的区别 在Go语言中,`hash[:]` 这个语法是**数组切片操作**,具体含义如下: ### 代码解析: ```go hash := md5.Sum(data) // 返回类型是 [16]byte 的数组 hashString := hex.En ...
有些时候需要对老项目进行golang版本升级,已便使用更新的功能 1、前置条件 需要安装好要升级的golang版本,安装方式有两种,一种是本地直接安装,另一种是安装版本管理工具然后再安装go 安装方式1:安装教程链接 安装方式2:安装教程链接 2、升级 如果安装了版本管理工具就切换到所需要升级的go ...
目录文件操作创建目录创建文件获取File信息文件重命名删除文件打开关闭文件判断文件是否存在判断文件是否有读取权限复制文件Read读取ReadFull读取ReadAtLeast读取ReadAll读取bufio读取Write写入WriteFile快速写入临时文件目录下载文件文件指针操作修改文件权限/拥有 ...
目录开启一个项目编解码工具开发Dongle包Base64编解码摩斯密码URL加解密AES加解密MD5碰撞工具开发 开启一个项目 这作为补充内容,可忽略直接看下面的编解码: 一开始用就按照下面的步骤即可 1.创建一个文件夹,你自己定义名字(建议只用英文名字),你的项目文件夹 2.在这个文件夹里创建一个 ...
之前有师傅问这个系列好像跟红队没啥关系,前几期确实没啥关系,因为这都是进行红队工具开发的前置知识点,对于我个人强迫症而言只是想让这个系列更加完善而已,所以前置知识也加进去了,有GO只是的大佬可以等下一期哈!感谢支持。 ...
目录并发编程go协程chan通道无缓冲通道有缓冲通道创建⽆缓冲和缓冲通道等协程sync.WaitGroup同步Runtime包Gosched()Goexit()区别同步变量sync.Mutex互斥锁atomic原子变量SelectTicker定时器控制并发数量核心机制并发编程阶段练习重要的细节端口扫 ...
1、线段树介绍 线段树是一种用于高效处理区间查询和区间更新的数据结构,当我们需要解决一个频繁更新区间值的问题的时候,就可以采用线段树的结构进行解决。线段树的核心思想是将区间分为多个子区间进行管理,越往下区间范围越小,根节点表示整个线段树能表示的区间。 本文记录使用Go实现动态开点线段树的方式,该模板 ...
目录基础语法语法框架数据类型类型转换变量var定义常量iota 枚举数组切片结构体结构体方法指针map类型转换导入包字符串strings包字符拼接ContainsReplace更多函数解释输入输出字符串格式化fmt:Scanf、Scan、ScanlnScanfScanScanlnfmt:Printl ...
0、引言 正好做LC每日一题要求实现一个跳表,于是学习了redis的扩展skiplist,并使用Go进行复刻学习。学习参考了文章:Redis内部数据结构详解(6)——skiplist - 铁蕾的个人博客 因为作者能力有限,本文只是对跳表的核心功能:创建节点与跳表、插入节点、删除节点、获取节点rank ...