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 ......
【转】dive into golang database/sql(1)
转,原文:https://www.jianshu.com/p/3b0b3a4c83da 数据库操作是一个应用必不可少的部分,但是我们很多时候对golang的sql包仅仅是会用,这是不够的。每一条语句的执行,它的背后到底发生了什么。各式各样对sql包的封装,是不是有必要的,有没有做无用功? 这是go ......
【转】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实例之后就可以操作数据库了 ......
【转】dive into golang database/sql(3)
转,原文: https://www.jianshu.com/p/cd8cee3d7fc3 上一章中我们一起探讨了golangdatabase/sql包中如何获取一个真实的数据库连接。当我们拿到一个数据库连接之后就可以开始真正的数据库操作了。本章讲继续深入,一起探讨底层是如何进行数据库操作的。 上一章 ......
golang + rabbitmq 死信队列
生产者 package main import ( "fmt" "github.com/streadway/amqp" "strconv" "time" ) // 启动生产者,n秒之内,如果consume没有消费,那么就会被die-死信队列消费 func main() { // # 1.创建连接 m ......
golang的值接收者与指针接收者(二)
虽然在平时使用时,值接收者和指针接收者调用值方法和指针方法都没有问题,但是在涉及到实现接口方法时,有时会遇到如下报错: Son does not implement Father (SomeFunction method has pointer receiver) 比如: type Person i ......
golang值接收者与指针接收者(一)
golang方法的接收者有两种:值接收者与指针接收者。 平时使用中两种接收者的主要区别就是能不能修改接收者的内部值。 先说结论:值接收者方法不能修改结构体内部的值,指针接收者方法可以修改结构体内部的值。 做个测试: type Student struct { age int } func (s St ......
golang 并发之goroutine
goroutine 的启动 将要并发执行的任务包装成一个函数,调用函数时候前面加上go 关键字,就能够开启goroutine去执行该函数的任务 goroutine对应的函数执行完成,该goroutine就结束 程序启动的时候自动的创建一个goroutine去执行main函数 main函数结束之后那么 ......
golang map json 结构体
要将JSON转换为Go结构体,您可以使用json.Unmarshal()函数。首先,您需要定义一个与JSON数据结构匹配的Go结构体,然后使用json.Unmarshal()将JSON数据解码为该结构体。以下是一个示例:假设有如下JSON数据: { "name": "John Doe", "age" ......
golang之异步队列Asynq
Asynq[1]是一个Go实现的分布式任务队列和异步处理库,基于redis,类似Ruby的sidekiq[2]和Python的celery[3]。Go生态类似的还有machinery[4]和goworker 同时提供一个WebUI asynqmon[5],可以源码形式安装或使用Docker imag ......
golang 反斜杠替换
难点 主要是 golang 和 Java 类似双引号定义字符串 python php 单双引号通吃 只是上代码 package main import ( "fmt" "strings" ) func main() { str := "+++\\+++" replacedStr := strings ......
IT技术栈:Golang面试攻略详细总结,有的坑,原来真的可以躲过去
IT技术栈:Golang面试攻略详细总结,有的坑,原来真的可以躲过去 首发2023-10-10 17:38·大侠技术栈 make与new的异同 相同点: 都是用来给变量分配内存的 不同点: new一般给值类型的变量,例如:string、int、arr分配内存,make给slice、channel、m ......
golang之gRPC
相关链接: grpc: https://grpc.io/docs/languages/go/quickstart/ protobuf: https://protobuf.dev/programming-guides/proto3/ protobuf语法: 示例: syntax = "proto3"; ......
Golang chan 的实现原理
Golang chan 的实现原理 Go语言中的chan(通道)是一种用于在不同的goroutines之间进行通信和同步的重要机制。chan的实现原理涉及到Go语言的运行时系统和底层的数据结构。以下是chan的主要实现原理: 底层数据结构:chan的底层数据结构是一个用于存储数据的环形队列(circ ......
golang map/sync.map 实现
map Go 中的 map 是一种高效的散列表(hash table)实现,它的底层实现细节包括以下重要方面: 哈希表(Hash Table):map 的底层数据结构是一个哈希表。哈希表是一个数组,每个元素都是一个哈希桶,用于存储键值对。 哈希函数(Hash Function):Go 使用哈希函数将 ......
解决 golang 中 grep console 插件不生效问题
日志多了以后不好找,idea 中的神奇 grep console 在 goland 竟然不好使了,一番查找下,找到了一个解决方案 cmd+shift+a 找到 Registry 找到go.run.processes.with.pty,改为 false 大功告成 原贴:https://github.c ......
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 使用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 ......
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 ......
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 ......
slices in Go 1.21
Go 1.21中新增的 slices包中提供了很多与切片相关的函数,适用于任意类型的切片。 本文内容来自官方文档 BinarySearch 函数签名如下: func BinarySearch[S ~[]E, E cmp.Ordered](x S, target E) (int, bool) Bina ......
Golang HOT100 做题记录
LeetCode 热题100 1. 两数之和 题目大意:给出一个数字的数 []num,一个目标值 target。在数组中,找出两数之和为目标值的下标,任意输出一个答案。 例子:num[] = {0, 2,3, 4, 2}, target = 4, 输出:[]int{0,3} 注意点:1. 不能重复, ......
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 ......
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 ......
GoLang sync.Mutex和sync.RWMutex
Mutex可以看做是锁,RWMutex则是读写锁 使用锁时优先使用RWMutex RWMutex:核心就是四个方法,RLock、RUnlock、Lock、UnlockMutex:Lock 和 Unlock double-check就是加读锁先检查一遍,释放读锁,加写锁,再检查一遍 锁的实现一般是依赖 ......
GoLang context包
初始化一个context如果确定是开头则用Background,如果不确定则用ToDo context包核心API有四个1.context.WithValue 设置键值对,并且返回一个新的context实例 2.context.WithCancel 3.context.WithDeadline 4. ......
golang实现一个简单的文件浏览下载功能代码示例
想省事用Claude(一个 依托chatgpt 的 AI)生成一段 golang 的文件浏览下载示例,结果给生成的代码大概是这样的(省去了无关部分,主要部分如下): http.HandleFunc("/*", downloadFile) http.HandleFunc("/", showFileLi ......
Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《Strimzi Kafka Bridge(桥接)实战》的第三篇,前文咱们掌握了Strimzi Kafka Bridge的基本功能:基于h ......
基于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(使用最新日 ......