golang流水线设计模式实践-编程思维

Golang流水线设计模式实践 原创 俞凡 DeepNoMind DeepNoMind 2024-01-14 11:45 发表于上海 听全文 流水线设计模式对于顺序处理业务数据非常有用,可以以一致的方式直观的定义对数据的处理流程。原文: Using a Pipeline Pattern in Golang[1] 到目前为止,我已经将Golang整合到项目中有一段时间了,Gola

深入浅出 golang 中的参数传递机制(值传递跟指针传递)-编程思维

深入浅出 Golang 中的参数传递机制 原创 路多辛 路多辛 2024-01-14 20:41 发表于上海 听全文 值传递(Pass by Value)和引用传递(Pass by Reference)是编程语言中两种主要的参数传递方式,决定了函数调用过程中实参(实际参数)如何影响形参(形式参数)以及函数内部对形参的修改是否会影响到原始实参。 什么是值传递 (Pass by Valu

还不敢写多线程程序?看看go如何让并发控制简单有趣-编程思维

还不敢写多线程程序?看看Go如何让并发控制简单有趣 原创 萤火架构 萤火架构 2024-01-12 19:50 发表于北京 听全文 所谓并发控制,就是同一程序进程内不同线程间访问相同资源时的冲突处理,有时也称为进程内同步。比如一个简单的内存累加计数操作,如果不进行同步,不同的线程可能就会获取到同样的数值,累加出相同的结果,最终结果也就不准确了。如下图所示,线程1和线程2按照图中的顺序

go 新建一个自定义包-编程思维

一、概述   在go中新建一个自定义包供其他包使用。   步骤:     1.新建一个目录     2.目录下新建一个xxx.go文件     3.在xxx.go文件中使用package xxx(包名)     4.此时你的包已经新建好了     5.在需要使用上面包的地方导入即可,如:import "xxxx"     ps:如果包中的内容需要对外开放则,方法名、结构体、interface的名

go gin+mysql实现增删改查-编程思维

一、概述   使用Gin框架+MySQL数据库实现增删改查(原生sql)   实现步骤:     1.导入Gin框架 go get -u github.com/gin-gonic/gin     2.引入MySQL驱动 go get -u github.com/go-sql-driver/mysql     3.注册Gin路由 // 注册用户路由 func RegisterUser()

go+gin+xorm+mysql实现增删改查-编程思维

一、概述   承接上一篇(ps:原生增删改查),本篇使用xorm实现增删改查。   之所以要使用xrom是因为xrom可以极大的缩小操作数据库的成本。   使用rom之前需要导入响应的包 go get github.com/go-xorm/xorm #安装xorm go get xorm.io/core go get -u github.com/go-sql-driver/mysql #安装M

go使用jwt创建token并验证token的有效性-编程思维

一、概述   Go使用jwt创建token,验证登录用户的合法性   导入jwt包 go get github.com/dgrijalva/jwt-go   二、代码示例   1.创建token及解析token package token import ( "fmt" "go_workspace/entity" "time" "github.com/dg

如何使用 golang 比较版本号大小?-编程思维

如何使用 Golang 比较版本号大小? 原创 路多辛 路多辛 2024-01-09 21:00 发表于上海 听全文 在日常开发中,比较版本号大小的情况是经常遇到的。因为版本号通常是字符串形式的,所以在 Go 语言中,比较版本号大小通常需要将字符格式的版本号串解析为可比较的数值,然后进行比较。版本号通常遵循语义化版本控制规范(Semantic Versioning),由主版本号、次版本号和修订号

go语言常见错误| 将接口作为返回值-编程思维

Go语言常见错误| 将接口作为返回值 原创 云原生Go 源自开发者 2024-01-11 07:00 发表于广东 听全文 源自开发者 专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。 69篇原创内容 公众号 在Go语言开发过程中,一个常见的错误是错误地将接口作为函数或方法的返回值。在这篇文章中,我们将深入了解这

从错误中学习: 了解go编程的6个坏习惯-编程思维

从错误中学习: 了解Go编程的6个坏习惯 原创 俞凡 DeepNoMind DeepNoMind 2024-01-07 10:35 发表于上海 Go编程的某些实践容易被误用或忽视,了解这些特性的特点和陷阱,可以帮助我们编写更好的代码。原文: 5+ BAD Practices In Go: Learn From Mistakes[1] Michal Matlon @Unsplash 使

golang throttled是一个基于gcra的速率限制库-编程思维

Golang throttled是一个基于GCRA的速率限制库 原创 Eagle1949 技术源泉 2024-01-07 07:01 发表于河南 1人听过 Throttled包实现了对HTTP端点等资源的速率限制访问。它使用通用信元速率算法(GCRA)来限制对资源(如HTTP端点)的访问,从而实现速率限制。2.0.0版本对节流API进行了一些重大更改。如果此更改破坏了您的代码,或者您希

go 引入gin框架并实现get请求-编程思维

一、概述   学习一下Go语言,主要为了观察一下其语言特性。了解一下其与Java/Kotlin/C/C++/Python其语言的区别 二、搭建步骤   1.使用LiteIDE新建目录并创建一个.go文件   2.引入Gin库     a.创建mod文件,并下载导入gin    go mod init go_workspacego_workspace:go目录     b.下载gin库 g

go语言常见错误| 滥用getters/setters-编程思维

Go语言常见错误| 滥用getters/setters 原创 云原生Go 源自开发者 2024-01-07 15:33 发表于广东 听全文 源自开发者 专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。 67篇原创内容 公众号 在Go语言编程中,恰如其分地使用getters和setters是至关重要的。过度和不适

go语言控制协程(goroutine)的并发数量,有哪些好的解决方法-编程思维

Go语言控制协程(goroutine)的并发数量,有哪些好的解决方法 磊丰 Go语言圈 2023-12-07 08:31 发表于广东 听全文 Go语言圈 Go语言开发者的学习好助手,分享Go语言知识,技术技巧,学习与交流Go语言开发经验,互动才有助于技术的提升,每天5分钟,助你GO语言技术快乐成长 142篇原创内容 公众号 学习与交流:Go语言技术微信群

每日一库:使用标准库 archive 处理归档文件-编程思维

每日一库:使用标准库 archive 处理归档文件 原创 孟斯特 孟斯特 2024-01-07 10:00 发表于北京 听全文 在 Go 语言标准库中,archive 包提供了用于处理归档文件(压缩文件和文件集合)的库。本文将详细介绍 archive/tar 和 archive/zip 包,它们分别用于处理 tar 格式和 zip 格式的归档文件。 1. archive/tar 包

go语言接口防并发常用方案-编程思维

Go语言接口防并发常用方案 原创 枫潇潇兮 程序员技术成长之路 2024-01-09 08:30 发表于福建 听全文 Go语言中处理并发的常见策略涉及了并发原语,如互斥锁(sync.Mutex)、读写锁(sync.RWMutex)、通道(channel)以及原子操作(sync/atomic)。接口(Interface)本身并不直接参与并发控制,但是当多个协程(goroutine)需要

golang定时器相关的函数超硬核解析-编程思维

golang定时器相关的函数超硬核解析 原创 萧楚河 golang面试经典讲解 2024-01-03 20:10 发表于上海 听全文 一、前言 Golang 定时器包括:一次性定时器(Timer)和周期性定时器(Ticker)。 编程中经常会通过timer和ticker、AfterFunc。定时器NewTicker是设定每隔多长时间触发的,是连续触发,而计时器NewTimer是等待多

go语言常见错误| 意外的变量隐藏-编程思维

Go语言常见错误| 意外的变量隐藏 原创 云原生Go 源自开发者 2024-01-04 07:46 发表于广东 听全文 源自开发者 专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。 62篇原创内容 公众号 在Go语言中,变量隐藏(Variable Shadowing)是一个常见的错误来源。变量隐藏发生在一个内部

go中的switch的6种使用:没有你想象中那么简单-编程思维

Go中的switch的6种使用:没有你想象中那么简单 原创 二师兄 程序新视界 2023-12-04 07:10 发表于北京 听全文 Go以其简洁而著称,但并不是每个人都熟悉这种语言中switch语句的多样性。首先,如果你对Go的switch语句还不熟悉,它可能与其他语言相比有些不同。 下面是一个简单的示例来展示它是什么样子的: func main() {    var i int