Go 中优化字符串的比较操作

![](https://raw.githubusercontent.com/studygolang/gctt-images2/master/20200912-Optimizing-String-Comparisons-in-Go/00.jpeg) 你想让你的 Go 程序运行得更快些吗?优化下 Go 程序中的字符串比较可以减少程序的响应时间,以及增强它的可扩展性。对比两个字符串来检查它们是否相等需要一定的处理能力,并不是所有的比较操作都是相同的。 在之前的一篇文章中,我们研究了 [Go...阅读全文

Go语言中文网 2021-09-24 09:56:21 lxbwolf

Go:多错误管理

![由Renee French创作的原始Go Gopher制作的“ Go的旅程”插图。](https://raw.githubusercontent.com/studygolang/gctt-images2/master/20200901-Go-Multiple-Errors-Management/Illustration.png) Go 语言中的错误(error)管理总是能引起争论,同时,在关于使用 Go 语言的时候,开发者面对最大的挑战的[年度调查](https://blog.gola...阅读全文

Go语言中文网 2021-09-24 09:52:10 dust347

json 二 开源库gjson的用法

二 开源库gjson用过Go语言的都知道,在项目中Go语言json包肯定是不足以满足千变万化的需求的。Go语言中Unmarshal函数会把整个JSON字符串解析成Go语言结构体实例,如果这个实例很大,JSON很长,我们只需要用到这个实例中的一个属性,那么这个转换就浪费了很多性能。所以,在项目中大家一般会使用第三方JSON包。2.1 gjsongjson是Github上很受欢迎的Go语言JSON开源库,可以通过级联方式直接获取下级某个属性,可以获取某个JSON数组的第一个元素,最后一个元素,元素个...阅读全文

Go语言中文网 2021-09-23 16:47:17 xiaojun1195

Golang发送钉钉机器人消息

## 推荐背景 作为新生代农民工,日常搬砖时间分配基本分为写Bug、Debug、Battle、~~摸鱼、喝水、上厕所~~...。除了这些,作为业务一线的民工们还会偶尔会收到产品、运营姐姐妹妹的数据统计需求,她的确要这个数有用,并且只有你有,有每天都要的,有每周要的,有不定期要的。可能也就几个SQL的事,做后台不值得,不做后台呢也不值得。一块砖搬一次两次可以,再多可就不行了,不然配不上==新生代==这三个字。 那有没有一个实现简单又使用方便的工具呢,没有?那想办法搞一个。 ###...阅读全文

Go语言中文网 2021-09-23 09:53:15 blinkbean

用Go轻松完成一个SAGA分布式事务,保姆级教程(修订版)

银行跨行转账业务是一个典型分布式事务场景,假设A需要跨行转账给B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的ACID,只能够通过分布式事务来解决。 ## 分布式事务 分布式事务在分布式环境下,为了满足可用性、性能与降级服务的需要,降低一致性与隔离性的要求,一方面遵循 BASE 理论: - 基本业务可用性(Basic Availability) - 柔性状态(Soft state) - 最终一致性(Eventual consistency) 另一方...阅读全文

Go语言中文网 2021-09-21 22:30:16 yedf

GfEasy:一款设计完数据库就开发完成的系统,摸鱼神器

低代码开发、急速CRUD降低学习成本,只要会设计数据库就可玩转本系统遇到功能修改,往往只需一两行代码即可实现留出更多的时间去摸鱼神器开源、基于MIT协议喜欢的话,欢迎给个starhttps://github.com/jasonLaw1015/GfEasy或者https://gitee.com/jasonlaw1015/GfEasy​​一、开发环境准备1.1、克隆仓库&配置开发环境打开https://github.com/jasonLaw1015/GfEasy或者https://gitee.com...阅读全文

Go语言中文网 2021-09-21 12:54:28 jasonLaw1015

【生产BUG】一个生产Bug到GORM框架分析

目录:1.Bug背景介绍2.Bug分析过程   2.1. 百度搜索解决方案   2.2. 根据关键错误信息分析源代码:database/sql(Golang版本:1.14.3)   2.3. 分析gorm的Begin/Commit/Rollback/Find源代码(Golang版本:1.14.3)   2.4. 分析业务代码调用Gorm的逻辑关系3.Gorm/database/mysql架构分析  3.1. Gorm/database/mysql分层架构  3.2. Gorm/database/...阅读全文

Go语言中文网 2021-09-17 11:17:23 ltp5343

用Go轻松完成一个XA分布式事务,保姆级教程

### 事务 某些业务要求,一系列操作必须全部执行,而不能仅执行一部分。例如,一个转账操作: ``` -- 从id=1的账户给id=2的账户转账100元 -- 第一步:将id=1的A账户余额减去100 UPDATE accounts SET balance = balance - 100 WHERE id = 1; -- 第二步:将id=2的B账户余额加上100 UPDATE accounts SET balance = balance + 100 WHERE id = 2; ...阅读全文

Go语言中文网 2021-09-14 09:33:53 yedf

私有化仓库的 GO 模块使用实践

本文以又拍云团队私有化模块处理的实践案例为基础,介绍如何使用私有化模块,以及 go get 工具背后的细节,其中包括如何让 go 正确的源获私有化 gitlab 上源代码以及认证等问题。文章根据又拍云资深开发工程师刘云鹏在 Open Talk 公开课直播分享进行整理,回放视频请下拉文末点击“阅读原文”。 关于 Open Talk:由又拍云发起的综合性技术沙龙,秉承又拍云“让创业更简单”的初衷,以全干货的形式为技术开发者提供包括技术、运维、产品、创业等多维度的知识分享,帮助企业成员提升专业技能,推...阅读全文

go modules 使用本地库、合规库、私有库

一、简介 公司项目使用 go module 开发的过程中会有一些自己的库要引用,这些库用gitlab管理,需要研究引用gitlab库的方法,下面是研究过程中的一些经验。 介绍两种引用方案: 1、引用本地目录 2、引用合规地址库 3、引用私有不合规库 4、恶心至极的私有不合规库 上述名词中的 合规 是指: [x] 库的地址是通过域名方式访问 [x] 支持HTTPS [x] 库的地址通过 80 和 443 端口,而不是其它端口 满足上述条件即是 合规库,否则是 不合规库,由于通常不合规库都是私有的,...阅读全文

IT开发者们的技术天堂 2019-07-15 20:10 qingchuwudi

[北京/深圳] 快手平台研发部 SysLab 寻找热爱编译器技术的你!

语言设计及其编译器研发 基础架构中心 SysLab 正在寻找志同道合的你,一起设计并研发一门受欢迎的通用编程语言。 负责语言设计和编译器研发工作,承担具有挑战的一些创新项目; 设计面向未来的语言和编译工具,加速海量分布式服务 /AI 服务的研发效率和质量; 研发高性能工具链,提升研发效率和运行性能,节省人力和资源成本; 使用新语言研发高质量标准库。 需要你: 熟练掌握 C++/Go 语言,具有高质量工程能力; 具备深厚的计算机底层知识; 具备良好的英文写作能力; 勇于...阅读全文

Go语言中文网 2021-09-10 17:28:36 jxls1992

🏄💨Rust工程师枕边资料

### Rust工程师枕边资料,经典博客,大牛文章,开源框架,国外项目,论文,视频,书籍,作者口述一览表 #### 传送门:https://github.com/0voice/Understanding_in_Rust ![0voice-Understanding_in_Rust-Rust工程师枕边资料,经典博客,大牛文章,开源框架,国外项目,论文,视频,书籍,作者口述一览表.png](https://static.studygolang.com/210908/db1f775...阅读全文

Go语言中文网 2021-09-08 20:44:03 wenchao1024

程序媛上班第一天,尽然让我做这个?!

 大家好!本人性别:女母语:golang爱好:电影,运动,做研究今天是我入职第一天,hr居然让我做招聘。以下是我用母语写的JD,有兴趣的大佬可以加入一起工作聘Golang工程师(后端、云相关)薪资:30k-70k·14薪 坐标杭州•紫金港有兴趣的大佬可以发送简历到我的邮箱:linwanlu@gnlab.compackage main import ( b64 "encoding/base64" "reflect" ) func contains(arrayType inte...阅读全文

Go语言中文网 2021-09-08 14:04:32 linwanlu

1

对go做过开发的朋友都很熟悉interface。这几天在网上看到了篇文章,谈到了interface与nil判等的问题。题是好题,就进一步了解了一下。 原题如下: Nil接口并不是有Nil指针的接口 type Cat interface { Meow() } type Tabby struct {} func (*Tabby) Meow() { fmt.Println("meow") } func GetACat() Cat { var myTabby *...阅读全文

Go语言中文网 2021-09-07 16:53:40 aaaaaa