golang slice

golang生成uuid

1,借助linux系统命令 /usr/bin/uuidgen 1.1 代码 package main import ( "fmt" "log" "os/exec" ) func main(){ out,err := exec.Command("uuidgen").Output() if err!=n ......
golang uuid

【转】dive into golang database/sql(1)

转,原文:https://www.jianshu.com/p/3b0b3a4c83da 数据库操作是一个应用必不可少的部分,但是我们很多时候对golang的sql包仅仅是会用,这是不够的。每一条语句的执行,它的背后到底发生了什么。各式各样对sql包的封装,是不是有必要的,有没有做无用功? 这是go ......
database golang dive into sql

【转】dive into golang database/sql(2)

转,原文: https://www.jianshu.com/p/807257fcb985?utm_campaign=studygolang.com&utm_medium=studygolang.com&utm_source=studygolang.com 当我们拿到一个DB实例之后就可以操作数据库了 ......
database golang dive into sql

【转】dive into golang database/sql(3)

转,原文: https://www.jianshu.com/p/cd8cee3d7fc3 上一章中我们一起探讨了golangdatabase/sql包中如何获取一个真实的数据库连接。当我们拿到一个数据库连接之后就可以开始真正的数据库操作了。本章讲继续深入,一起探讨底层是如何进行数据库操作的。 上一章 ......
database golang dive into sql

golang + rabbitmq 死信队列

生产者 package main import ( "fmt" "github.com/streadway/amqp" "strconv" "time" ) // 启动生产者,n秒之内,如果consume没有消费,那么就会被die-死信队列消费 func main() { // # 1.创建连接 m ......
死信 队列 rabbitmq golang

golang的值接收者与指针接收者(二)

虽然在平时使用时,值接收者和指针接收者调用值方法和指针方法都没有问题,但是在涉及到实现接口方法时,有时会遇到如下报错: Son does not implement Father (SomeFunction method has pointer receiver) 比如: type Person i ......
接收者 指针 golang

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

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

golang 并发之goroutine

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

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 电子

Go - Sorting Arrays or Slices

Problem: You want to sort elements in an array or slice. Solution: For int , float64 , and string arrays or slices you can use sort.Ints , sort.Float6 ......
Sorting Arrays Slices Go or

Go - Making Arrays and Slices Safe for Concurrent Use

Problem: You want to make arrays and slices safe for concurrent use by multiple goroutines. Solution: Use a mutex from the sync library to safeguard t ......
Concurrent Arrays Making Slices Safe

slices in Go 1.21

Go 1.21中新增的 slices包中提供了很多与切片相关的函数,适用于任意类型的切片。 本文内容来自官方文档 BinarySearch 函数签名如下: func BinarySearch[S ~[]E, E cmp.Ordered](x S, target E) (int, bool) Bina ......
slices 1.21 in Go 21

Golang HOT100 做题记录

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

Go - Remove values from a slice

To take out the first element of the slice: numbers := [] int { 3 , 14 , 159 , 26 , 53 , 58 } numbers = numbers [ 1 :] // remove element 0 To take out ......
Remove values slice from Go

Go - Insert values into a slice

There is no built - in function for insertion, but you can still use append for the task. Let’s say you want to insert the number 1000 between element ......
Insert values slice into Go

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