下划线golang

Golang viper读取配置

go get github.com/spf13/viper config.toml title = "toml exaples" redis = "127.0.0.1:3300" [mysql] host = "192.168.1.1" ports = 3306 username = "root" ......
Golang viper

Golang sync包中errgroup的使用详解

WaitGroup 主要用于控制任务组下的并发子任务。它的具体做法就是,子任务 goroutine 执行前通过 Add 方法添加任务数目,子任务 goroutine 结束时调用 Done 标记已完成任务数,主任务 goroutine 通过 Wait 方法等待所有的任务完成后才能执行后续逻辑 pack ......
errgroup Golang sync

golang之xorm简单使用

go get github.com/go-xorm/xorm package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/go-xorm/xorm" ) type PointInfo struct { Id i ......
golang xorm

Golang操作es使用mysql语法

package main import ( "context" "encoding/json" "fmt" "github.com/elastic/go-elasticsearch/v7" "github.com/elastic/go-elasticsearch/v7/esapi" "log" ) ......
语法 Golang mysql

Golang泛型的简单使用

package main import "fmt" // MyInt ~表示不仅支持int8, 还支持int8的衍生类型int8A和int8B type MyInt interface { int | ~int8 | int16 | int32 | int64 } func getMaxNum[T ......
Golang

Systemd集成Golang二进制程序

首先新建Service,名称叫做server-api vim /lib/systemd/system/server-api.service [Unit] Description=server api [Service] Type=simple Restart=always RestartSec=5s ......
二进制 Systemd 程序 Golang

【对象存储】Minio本地运行和 golang客户端基本操作

运行环境 OS和Golang版本: go version go1.21.0 darwin/arm64 安装 源码安装 下载最新版本的源码,地址https://github.com/minio/minio后编译 cd minio go build main.go # 得到 116M Oct 19 15 ......
基本操作 客户端 对象 客户 golang

golang 实现协程池

import ( "fmt" "sync" "time" ) type Task func() type ThreadPool struct { workerCount int taskQueue chan Task wg sync.WaitGroup } func NewThreadPool(wo ......
golang

玩一玩 golang 汇编(二)

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 上次玩 golang 汇编是使用了一个 python 的 intel 汇编转换 plan9 汇编的工具,很不好用。 本次试试一些 golang 实现的工具。 ......
golang

【介绍一个工具】图形化界面查看一个 golang 二进制文件的汇编代码

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 通常,可以通过命令行工具,来查看一个代码文件对应的汇编代码: go build -gcflags -S api.go // 或者 go tool compil ......
二进制 图形 界面 代码 文件

golang常见用法

结构体数组与接口数组转换 如果想把[]struct转为[]interface,我们发现直接赋值会报错。 理论上interface可以转换任何数据,为什么结构体数组不可以呢?这是因为interface的设计导致的,如果能理解interface的底层实现,就能很清楚知道如何转换了。 如图所示,与C++的 ......
常见 golang

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

Acrobat pdf 编辑添加下划线acrobat pro

Acrobat pdf 编辑添加下划线对于图片pdf,先进行文字识别。提升扫描,识别文字 打开注释工具条,选中文字,设置下划线3删除下划线右键,删除 ......
下划线 Acrobat acrobat pdf pro

Acrobat pdf 编辑添加下划线 Acrobat pro

Acrobat pdf 编辑添加下划线 1. 对于图片pdf,先进行文字识别。提升扫描,识别文字 2. 打开注释工具条,选中文字,设置下划线 ......
Acrobat 下划线 pdf pro

Python下划线命名模式

五种Python下划线模式速查表: 单前导下划线:_var 当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义。 它是对程序员的一个提示 - 意味着Python社区一致认为它应该是什么意思,但程序的行为不受影响。 下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用。 ......
下划线 模式 Python

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

CSS 多行文本超链接下划线动效

先看效果 乍一看,是不是感觉很简单,仔细一瞅发现事情好像没有那么简单。 如果十分钟还没想出怎么实现,那就把简历上的“精通css”改成“了解css”……😅 大部分人第一感觉都是想着用border-bottom去做,但是仔细看一下这个是多行文本,下划线始终在最后一行肯定是不合适的,而且下划线运动轨迹是 ......
下划线 文本 链接 CSS

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