下划线golang

golang context使用小结

Go标准库中的context包,提供了goroutine之间的传递信息的机制,信号同步,除此之外还有超时(timeout)和取消(cancel)机制。概括起来,Context可以控制子goroutine的运行,超时控制的方法调用,可以取消的方法调用。 #### context核心数据结构 1. Co ......
小结 context golang

golang入门,基础语法demo(1)

package main import "fmt" func main() { // 声明变量 var a int // 使用 var 关键字声明变量 a,类型为 int a = 1 // 赋值 fmt.Println(a) // 类型推导 // 使用 := 自动推导类型并声明变量 b,其类型为 s ......
语法 基础 golang demo

golang 常用控制协程的三种方式

#### waitGroup waitGroup这种方式适用于一个任务可以被拆分成几个子任务,并且子任务之间的关联程度不高,全部的子任务都完成,才会进行下一阶段的任务。 ```golang package main import ( "fmt" "sync" "time" ) func main() ......
常用 方式 golang

GoLang在不同系统打包

配置 Mac下编译Linux, Windows平台的64位可执行程序: go env -w CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go env -w CGO_ENABLED=0 GOOS=windows GOARCH=amd64 Linux下编译Mac, Win ......
GoLang 系统

golang 给对象的基础数据类型的指针类型的属性赋值

## 概要 有时我们可能碰到定义成下面这样的结构体,结构体里某些属性是基础数据类型,更确切的说,是基础数据类型的指针类型。 ```golang type Student struct { name string `json:"name"` age *int `json:"age"` // age 是 ......
类型 指针 属性 对象 基础

Golang 中文转拼音

翻遍整个 GitHub , Golang 中文转拼音类库, 怎么就这么难找呢? 于是我造了一个轮子: 中文转拼音类库. 目前来说应该是最好用的了. GitHub 传送门: [https://github.com/Lofanmi/pinyin-golang](https://github.com/Lo ......
拼音 Golang

Golang如何优雅地关闭 channel

Golang如何优雅地关闭 channel 萧瑟 golang面试经典讲解 2023-05-31 21:00 发表于上海 一、介绍 想必听说过 go 的,应该都知道 go 的最大的特性 goroutine 并发编程,而说到并发编程,使用 channel 进行数据传输是 go 中的必修课。 go 的并 ......
channel Golang

Golang 中文转拼音

翻遍整个 GitHub , Golang 中文转拼音类库, 怎么就这么难找呢? 于是我造了一个轮子: 中文转拼音类库. 目前来说应该是最好用的了. GitHub 传送门: [https://github.com/Lofanmi/pinyin-golang](https://github.com/Lo ......
拼音 Golang

A Practical Methodology, HSM, Handler,Service,Model, for Golang Backend Development

A simple methodology or design pattern called HSM (Handler, Service, Model) or Golang backend development. HSM is similar to MVC but specifically tail... ......

针对传递过来的 Map 请求体数据的字段转换为 MySQL 字段命名规则(下划线命名规则)

# 业务需求 有时候需要通过 Map 作为请求体接收 Post 请求传递过来的数据。而前端传递来的字段是驼峰命名法规则的字段,在使用时希望多一层自动转换。 特别是,希望在 update 语句中,遍历 map 的字段和值,循环遍历插入,减少写 update 的字段和 values 字段(偷懒罢了)。 ......
字段 规则 下划线 数据 MySQL

如何调试golang程序

在Golang中进行调试和性能分析是非常重要的,在开发过程中发现问题并及时修复可以极大地提高代码质量和效率。介绍两种常用的调试工具,dlv和pprof,以及如何使用它们进行代码调试和性能分析。 ### 一、dlv调试工具 1.安装 在使用dlv前需要先安装,可以通过以下命令进行安装: ```shel ......
程序 golang

golang 语法糖

### golang 语法糖 在 Go 语言中,`nums...` 是一种语法糖,用于将切片 `nums` 展开为一个个独立的参数。 在函数调用中,如果你有一个切片 `nums`,你可以使用 `nums...` 将切片展开为独立的元素,作为函数的参数传递。 以下是一个示例说明 `nums...` 的 ......
语法 golang

镜像golang 标准库文档

- **缘起:**查golang文档时,访问 https://pkg.go.dev/std 网站有点慢,就想做个离线版的 - 修改日期: 2023-06-16 # mirror std lib `wget -c -t 3 -r -l 1 -np -p -k https://pkg.go.dev/st ......
镜像 文档 标准 golang

golang面试题

1.什么是goroutine?它和线程有什么区别?答:goroutine是Go语言中一种轻量级的线程,由Go语言的运行时系统调度。和线程不同的是,一个程序可以创建成千上万的goroutine,因为goroutine是在一个线程中运行的,所以创建goroutine的代价非常小。此外,goroutine ......
golang

golang之JWT实现

什么是JSON Web Token? JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON方式安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥 ......
golang JWT

golang之数据验证validator

https://blog.csdn.net/guyan0319/article/details/105918559/ 前言在web应用中经常会遇到数据验证问题,普通的验证方法比较繁琐,这里介绍一个使用比较多的包validator。 原理将验证规则写在struct对字段tag里,再通过反射(refle ......
validator 数据 golang

golang之context

context 用来解决 goroutine 之间退出通知、元数据传递的功能。 context 使用起来非常方便。源码里对外提供了一个创建根节点 context 的函数: func Background() Context background 是一个空的 context, 它不能被取消,没有值,也 ......
context golang

golang之http请求库go-resty

github: https://github.com/go-resty/resty go-resty 特性# go-resty 有很多特性: 发起 GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, etc. 请求 简单的链式书写 自动解析 JSON 和 XM ......
go-resty golang resty http go

golang之errors包

errors包常用方法 func Unwrap(err error) error // 获得err包含下一层错误 func Is(err, target error) bool // 判断err是否包含target func As(err error, target interface{}) boo ......
golang errors

Golang开发新手常犯的50个错误

《50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs》 原文地址:http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang ......
错误 新手 Golang

Golang Copy 制整个文件夹或单个文件; //Move 文件

// Copy 制整个文件夹或单个文件 func Copy(from, to string) error {​​​ f, e := os.Stat(from) if e != nil {​​​​​​​​​​ fmt.Println("没有找到要拷贝的路径:", from) return e }​​​ ......
文件 单个 文件夹 Golang Copy

2023-06-14:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度) 然后输出该节点的值。(如果节点的深度为 D,则其

2023-06-14:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度) 然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1 根节点的深度为 0 如果节点只有一个子节点,那么保证该子节点为左子节 ......
节点 深度 2023 root 06

golang对于[]byte数组转string进行比较的优化

当需要比较两个`[]byte`数组是否相等时有好几种方案,下面可以看出前三种方案都是优化过的,效率高的方案。 ```go package main import ( "bytes" "crypto/rand" mr "math/rand" "testing" ) func StringEqual(n ......
数组 golang string byte

【解决一个小问题】golang 的 `-race`选项导致 unsafe代码 panic

**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G ......
代码 golang unsafe 问题 panic

golang 遍历并批量压缩图片

package main import ( "bytes" "fmt" "image" "io/ioutil" "mylog" "os" "path" "github.com/nfnt/resize" _ "image/gif" "image/jpeg" _ "image/png" ) func m ......
golang 图片

Golang Println、Printf、Sprintf的区别(笔记)

Println :可以打印出字符串,和变量 Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整形变量和整形 Sprintf:用传入的格式化规则符将传入的变量格式化,(终端中不会有显示),返回为 格式化后的字符串 ......
Println Sprintf 笔记 Golang Printf

golang 实现cas

相比sync.WaitGroup里面的互斥锁,cas可以实现无锁等待一组任务执行完成后释放,示例代码如下 ```go func TestCAS(t *testing.T) { var count int32 = 10000 for i := 0; i 0 { } t.Log("task exec f ......
golang cas

golang 闭包,装饰器

``` package main import ( "fmt" "strings" ) func makeSuffixFunc(suffix string) func(string) string { return func(name string) string { if !strings.Has ......
闭包 golang

golang之fmt格式化

常用fmt中用于格式化的占位符 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表 ......
格式 golang fmt

Golang 应用脚手架

Nunu 提供了全面的文档和示例,帮助你快速入门。它还包括一套测试套件,确保你的应用程序按预期工作。 安装要求 要使用 Nunu,你需要在系统上安装以下软件: Golang 1.16 或更高版本 Git MySQL 5.7 或更高版本(可选) Redis(可选) 安装 你可以通过一行命令安装 Nun ......
脚手架 Golang