文章持续更新,微信搜一搜「 吴亲强的深夜食堂 」介绍Go 语言实际上没有直接支持枚举的关键字。一般我们都是通过 const + iota 实现枚举的能力。有人要问了,为什么一定要使用枚举呢?stackoverflow 上有一个高赞的回答,如下:You should always use enums when a variable (especially a ......
459
0
0
2022-04-11
定义在go里面,每一个并发执行的活动成为goroutine。详解:goroutine可以认为是轻量级的线程,与创建线程相比,创建成本和开销都很小,每个goroutine的堆栈只有几kb,并且堆栈可根据程序的需要增长和缩小(线程的堆栈需指明和固定),所以go程序从语言层面支持了高并发。程序执行的背后:当一个程序启动的时候,只有一个goroutine来调用mai ......
445
0
0
2022-04-11
因为工作需求,需要一个敏感词检测的功能,本来准备接入云平台.但是后来想想还是自己做了吧.由于是第一次接触敏感词检测,刚开始的想法是使用字符串匹配,或者分词匹配,但是一想到如果敏感词有几千,而需要检测的内容又特别长的时候,效率就非常低,于是从《算法导论》里面查了一下,找到了dfa算法.于是dfa 的 go 语言包就诞生了.DFA 全称为:Determinist ......
380
0
0
2022-04-11
Go 语言中 = 和 := 有什么区别使用 = 前必须先用var声明var a a = 100 //或 var b = 100 //或 var c int = 100 := 是声明并赋值,并且系统自动推断类型,不需要var关键字d := 100 range函数range函数可以用来遍历数组,切片,通道或者Map。用于遍历数组、切片时,返回索引和 ......
407
0
0
2022-04-11
1. 打开git bash ,切换代理go env -w GOPROXY=https://goproxy.cn 2.下载Gin框架go get -u github.com/gin-gonic/gin 3.快速开始新建文件 hello.gopackage main import "github.com/gin-gonic/gin" func m ......
342
0
0
2022-04-11
Github:github.com/fyonecon/ginlaravelGitee:gitee.com/fyonecon/ginlaravelGinLaravel、GoLaravel介绍GinLaravel基于Golang框架Gin(Gin学习文档:《Gin 框架中文文档》 )开发,项目结构和项目理念参考Laravel。学习本项目时建议从阅读本项目源码开始 ......
321
0
0
2022-04-11
如下匿名导入,包名前加 ‘_’import(_ "github.com/go-sql-driver/mysql" ) func main(){ config := mysql.config{...} } 编译时会报错 undifined mysql去掉匿名导入的下划线,即可正常编译 ......
392
0
0
2022-04-10
template.New("test").Delims("{[", "]}").ParseFiles("filename.gohtml") ......
354
0
0
2022-04-10
面试总结channel 相关channel为什么能保证线程安全发送一个数据到channel和从channel中接收一个数据都是原子性的。而且go的设计思想就是不要通过共享内存进行通信,而是通过通信共享内存,前者就是传统的加锁,后者是channel。设计channel的主要目的就是在多任务间传递数据,这当然是安全的切片扩容规则原切片长度小于1024时,新切片的 ......
448
0
0
2022-04-10
gRPC是什么?gRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计 支持多语言:C++、C#、Dart、Go、Java、Node.js、Objective-c、PHP、Python、Ruby 特点:HTTP/2、Protobuf、客户端、服务的基于同一份IDL、移动网络的良好支持、支持多语言 图解调用过程:1、客户端(gRPC S ......
498
0
0
2022-04-10
[TOC]go语言的31个坑资源来自于如下链接:devs.cloudimmunity.com/gotchas-and-...打开之后他是长这个样子的:逐个理解并操作之后,筛选出如下31个GOLANG的坑,与大家分享分享1.左大括号不能单独放一行 {在其他大多数语言中,{的位置你自行决定。Go比较特别,遵守分号注入规则(automatic semicolon ......
401
0
0
2022-04-10
说明Go 言为编译型语言,编译型语言有诸多好处,如:部署简单提早发现错误执行效率高然而这也意味着代码修改后需重新编译才能看到变更,这为我们本地开发带来了诸多不便。安装air国内访问外网不稳定,为了让安装顺利进行,我们需要先设置 Go Proxy。执行以下命令:go env -w GOPROXY=https://goproxy.cn 设置成功后,使用以下命 ......
352
0
0
2022-04-10
人是一种高并发的物种,细品。初识对 Go 语言的第一印象就是其原生地支持并发编程,而且使用的是协程,比线程更加轻量。关于进程、线程和协程的区别进程是“程序执行的一个实例” ,担当分配系统资源的实体。进程创建必须分配一个完整的独立地址空间。进程切换只发生在内核态。线程:线程是进程的一个执行流,独立执行它自己的程序代码,是程序执行流的最小单元,是处理器调度和分派 ......
369
0
0
2022-04-10
文章持续更新,微信搜一搜「 吴亲强的深夜食堂 」上一篇etcd 实战基础篇(一)我们主要介绍了 etcd 使用场景以及最基础性的一些操作(put、get、watch)。 这一篇我们接着实战etcd其他业务场景。基于 etcd 的分布式锁基于 etcd 实现一个分布式锁特别简单。etcd 提供了开箱即用的包 concurrency,几行代码就实现一个分布式锁。 ......
512
0
0
2022-04-10
[TOC]OAUTH之钉钉第三方授权hello,我是小魔童哪吒,欢迎点击关注,有更新,将第一时间呈现到你的面前胖sir:小魔童,我今天收到了一个需求,期望我们做一个第三方登录的功能,用户可以通过第三方授权来登录我们的web小魔童:啊哈?你有眉目吗胖sir:那当然,我知道可以通过微信登录,钉钉登录,github登录等等呢小魔童:那你知道都是咋实现的吗?说给我听 ......
377
0
0
2022-04-10