斜杠golang

golang值接收者与指针接收者(一)

golang方法的接收者有两种:值接收者与指针接收者。 平时使用中两种接收者的主要区别就是能不能修改接收者的内部值。 先说结论:值接收者方法不能修改结构体内部的值,指针接收者方法可以修改结构体内部的值。 做个测试: type Student struct { age int } func (s St ......
接收者 指针 golang

golang 并发之goroutine

goroutine 的启动 将要并发执行的任务包装成一个函数,调用函数时候前面加上go 关键字,就能够开启goroutine去执行该函数的任务 goroutine对应的函数执行完成,该goroutine就结束 程序启动的时候自动的创建一个goroutine去执行main函数 main函数结束之后那么 ......
goroutine golang

burpsuite靶场----目录遍历----斜杠双重url编码绕过

burpsuite靶场 目录遍历 斜杠双重url编码绕过 靶场地址 https://portswigger.net/web-security/file-path-traversal/lab-superfluous-url-decode 正式开始 1.随便打开一个图片 2.对'/'进行双重url编码, ......
斜杠 靶场 burpsuite 编码 目录

golang map json 结构体

要将JSON转换为Go结构体,您可以使用json.Unmarshal()函数。首先,您需要定义一个与JSON数据结构匹配的Go结构体,然后使用json.Unmarshal()将JSON数据解码为该结构体。以下是一个示例:假设有如下JSON数据: { "name": "John Doe", "age" ......
结构 golang json map

golang之异步队列Asynq

Asynq[1]是一个Go实现的分布式任务队列和异步处理库,基于redis,类似Ruby的sidekiq[2]和Python的celery[3]。Go生态类似的还有machinery[4]和goworker 同时提供一个WebUI asynqmon[5],可以源码形式安装或使用Docker imag ......
队列 golang Asynq

golang 反斜杠替换

难点 主要是 golang 和 Java 类似双引号定义字符串 python php 单双引号通吃 只是上代码 package main import ( "fmt" "strings" ) func main() { str := "+++\\+++" replacedStr := strings ......
斜杠 golang

IT技术栈:Golang面试攻略详细总结,有的坑,原来真的可以躲过去

IT技术栈:Golang面试攻略详细总结,有的坑,原来真的可以躲过去 首发2023-10-10 17:38·大侠技术栈 make与new的异同 相同点: 都是用来给变量分配内存的 不同点: new一般给值类型的变量,例如:string、int、arr分配内存,make给slice、channel、m ......
攻略 Golang 技术

golang之gRPC

相关链接: grpc: https://grpc.io/docs/languages/go/quickstart/ protobuf: https://protobuf.dev/programming-guides/proto3/ protobuf语法: 示例: syntax = "proto3"; ......
golang gRPC

Golang chan 的实现原理

Golang chan 的实现原理 Go语言中的chan(通道)是一种用于在不同的goroutines之间进行通信和同步的重要机制。chan的实现原理涉及到Go语言的运行时系统和底层的数据结构。以下是chan的主要实现原理: 底层数据结构:chan的底层数据结构是一个用于存储数据的环形队列(circ ......
原理 Golang chan

golang map/sync.map 实现

map Go 中的 map 是一种高效的散列表(hash table)实现,它的底层实现细节包括以下重要方面: 哈希表(Hash Table):map 的底层数据结构是一个哈希表。哈希表是一个数组,每个元素都是一个哈希桶,用于存储键值对。 哈希函数(Hash Function):Go 使用哈希函数将 ......
map golang sync

解决 golang 中 grep console 插件不生效问题

日志多了以后不好找,idea 中的神奇 grep console 在 goland 竟然不好使了,一番查找下,找到了一个解决方案 cmd+shift+a 找到 Registry 找到go.run.processes.with.pty,改为 false 大功告成 原贴:https://github.c ......
插件 console golang 问题 grep

Golang 使用SQLX实现可选条件查询

package main import ( "fmt" "log" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) type CityQuery struct { query string opts cityQueryOp ......
条件 Golang SQLX

golang 使用gomail.v2发送电子邮件

1 package email 2 3 import ( 4 "errors" 5 "gopkg.in/gomail.v2" 6 ) 7 8 var dialer *gomail.Dialer 9 10 func Reset(host string, port int, username, pass ......
电子邮件 邮件 golang gomail 电子

Golang HOT100 做题记录

LeetCode 热题100 1. 两数之和 题目大意:给出一个数字的数 []num,一个目标值 target。在数组中,找出两数之和为目标值的下标,任意输出一个答案。 例子:num[] = {0, 2,3, 4, 2}, target = 4, 输出:[]int{0,3} 注意点:1. 不能重复, ......
Golang 100 HOT

GoLang sync.Mutex和sync.RWMutex

Mutex可以看做是锁,RWMutex则是读写锁 使用锁时优先使用RWMutex RWMutex:核心就是四个方法,RLock、RUnlock、Lock、UnlockMutex:Lock 和 Unlock double-check就是加读锁先检查一遍,释放读锁,加写锁,再检查一遍 锁的实现一般是依赖 ......
sync RWMutex GoLang Mutex

GoLang context包

初始化一个context如果确定是开头则用Background,如果不确定则用ToDo context包核心API有四个1.context.WithValue 设置键值对,并且返回一个新的context实例 2.context.WithCancel 3.context.WithDeadline 4. ......
context GoLang

golang实现一个简单的文件浏览下载功能代码示例

想省事用Claude(一个 依托chatgpt 的 AI)生成一段 golang 的文件浏览下载示例,结果给生成的代码大概是这样的(省去了无关部分,主要部分如下): http.HandleFunc("/*", downloadFile) http.HandleFunc("/", showFileLi ......
示例 代码 功能 文件 golang

Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《Strimzi Kafka Bridge(桥接)实战》的第三篇,前文咱们掌握了Strimzi Kafka Bridge的基本功能:基于h ......
实战 Strimzi 版本 Bridge golang

基于goravel的CMS,企业官网通用golang后台管理系统

2023年9月11日10:47:00 仓库地址: https://gitee.com/open-php/zx-goravel-website CMS,企业官网通用PHP后台管理系统 框架介绍 Goravel SCUI 后端开发组件 go 1.20 Goravel 1.13 数据库 sql(使用最新日 ......
后台 管理系统 goravel golang 系统

golang 代码实现一个工具函数:用于合并两个go map

内容来自对 chatgpt 的咨询 初始化一个新 map,然后遍历两个旧 map,把每个元素都存到新 map 即可。 package main import "fmt" // MergeMaps 创建一个新的 map 用于保存合并后的值。返回新的 map。 func MergeMaps(destMa ......
函数 两个 代码 工具 golang

golang 代码实现:并发请求下游接口,下游接口限制请求参数中某数组单次最多传20个

内容来自对 chatgpt 的咨询 假设你有一个golang 的数组,数组元素数量大于20,你需要调用下游接口,但是接口的请求参数限制了一次最多传20个,为了节省时间,你需要并发调用,完整整个数组的下游调用,请完成代码编写 写法一 我们将数组切分成最大20个元素的小块,并对每个块并发调用下游接口: ......
接口 数组 参数 代码 golang

golang 代码实现如果在在一个秒级时间戳上加上23h59m59s

代码来自chatgpt 实现如果在在一个秒级时间戳上加上23h59m59s 先把时间戳转换成 time 对象,然后利用 Add 函数在该对象上添加23h59m59s,最后获取时间对象的时间戳 package main import ( "fmt" "time" ) func main() { // ......
23h59m59s 代码 时间 golang 59

golang grom 实现 INSERT...ON DUPLICATE KEY UPDATE

内容来自对 chatgpt 的咨询 前言(INSERT...ON DUPLICATE KEY UPDATE 介绍) 当你在MySQL中插入数据,如果唯一键发生冲突,可以使用 INSERT...ON DUPLICATE KEY UPDATE 语句实现插入和更新操作。其基本语法如下: INSERT IN ......
DUPLICATE golang INSERT UPDATE grom

golang 使用 gorm 查询数据 demo

内容来自对 chatgpt 的咨询 题目 假设你有一张学生数据库表,需要通过golang 的gorm查询某个id的学生实体 查询 demo 在这段代码中,"student"变量是一个Student类型的结构体,用于存储查询结果。我们通过调用gorm.DB的Where方法和 First 方法,将第一个 ......
数据 golang demo gorm

golang 求出这两个对象数组的2个差集,即存在其中一个数组,但是不存在于另一个数组

代码来自 chatgpt package main import ( "fmt" "reflect" ) type Object struct { ID int } func main() { a := []Object{{1}, {2}, {3}} b := []Object{{2}, {3}, ......
数组 差集 对象 两个 golang

Go每日一库之135:Ent(Facebook 开源 Golang 实体框架)

> 对于**后端开发者**来说,一款好用的框架能够大大提升应用的开发效率。为了降低开发者使用 TiDB 的门槛,**方便开发者快速连接到 TiDB**,我们也在和合作伙伴一起,逐步完善**面向主流开发语言和框架的连接支持**。 ![每日一库之135:Ent(Facebook%20开源%20Golan ......
实体 框架 Facebook Golang 135

Go每日一库之133:lo(基于泛型的 Golang lodash 库)

近日,Go 核心开发团队终于宣布了 Go 1.18 正式版本的发布!这是一个大家期待很久的版本!Go 1.18 包含大量新功能:模糊测试、性能改进、工作区等,以及 Go 语言开源以来最大的一次语法特性变更 —— 支持泛型! 支持泛型后,我们便不再需要写如下冗余的代码: ![每日一库之133:lo(基 ......
Golang lodash 133

golang-select

select的作用 golang 中的 select 就是用来监听和 channel 有关的 IO 操作,当 IO 操作发生时,触发相应的动作。select 只能应用于 channel 的操作,既可以用于 channel 的数据接收,也可以用于 channel 的数据发送。如果 select 的多个 ......
golang-select golang select

golang之命令行工具Cobra

github地址: https://github.com/spf13/cobra [安装] go get -u github.com/spf13/cobra@latest 使用cobra_cli工具 go install github.com/spf13/cobra-cli@latest [使用] ......
命令 工具 golang Cobra

golang-channel

什么是 channel 管道 channel 是 goroutine 与 goroutine 之间通信的重要桥梁 channel 是一个通道,用于端到端的数据传输,这有点像我们平常使用的消息队列,只不过 channel 的发送方和接受方是 goroutine 对象,属于内存级别的通信。 这里涉及到了 ......
golang-channel channel golang