golang channel 详解前言CSP:不要通过共享内存来通信,而要通过通信来实现内存共享,它是Go 的并发哲学,基于 channel 实现。Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。数据结构runtime/chan.gotype hchan struc ......
546
0
0
2022-05-04
使用的go版本是1.16.5,代码编辑器是GoLang2020.3.4,是在window10上面做GO Modules测试为何会有GOModules的出现GOROOT是指go的安装路径,GOPATH是指go的项目路径,在没有GOModules之前用的是GOPATH,由于GOPATH存在很多问题,从而使用GOModules进行代替GOPATH存在的问题GOPA ......
364
0
0
2022-05-04
前后端分离下 后端请求授权 回调地址填写前端路由 监听到url里面存在code参数。则请求授权回调接口。授权接口func (*WeiBo)WeiBoCallBack (c *gin.Context) { code := c.Query("code") if len(code) ==0 { c.JSON(http.Statu ......
301
0
0
2022-05-01
这是我参与更文挑战的第 21 天,活动详情查看: 更文挑战我们用GO玩一下验证码嗨,我是小魔童哪吒,咱们上次分享的GO 中 defer 的实现原理,再来回顾一下吧分享了defer是什么简单示意了栈和队列defer的数据结构和实现原理,具体的源码展示GO 中defer的 3 条规则要是对 GO 中 defer 实现原理还有点兴趣的话,欢迎查看文章 GO 中 d ......
507
0
0
2022-05-01
_ _ __ _ ___| (_)/ _` |/ __| | | | (_| | (__| | | \__, |\___|_|_||___/ gcli 脚手架工具 可以快速搭建项目框架,内置两套项目基础框架 (echo-framework、iris-framework),该项目基础框架已经集成了g ......
324
0
0
2022-05-01
echo-framework 是基于 echo 搭建用于快速开发的项目框架安装go get -u github.com/nelsonkti/echo-framework 功能叙述支持 gorm、logger 日志、jwt、cron 定时任务、redis 等mysql 数据库读写分离、 负载均衡socket.io 通信协议nsq 消息队列分布式部署文件夹结构 ......
299
0
0
2022-04-29
[TOC]GO 中 defer的实现原理我们来回顾一下上次的分享,分享了关于 通道的一些知识点分享了 GO 中通道是什么通道的底层数据结构详细解析通道在GO源码中是如何实现的Chan 读写的基本原理关闭通道会出现哪些异常,panicselect 的简单应用要是对 chan 通道还有点兴趣的话,欢迎查看文章 GO 中 Chan 实现原理分享defer 是什么? ......
330
0
0
2022-04-29
GO 中 Chan 实现原理分享嗨,我是小魔童哪吒,还记得咱们之前分享过GO 通道 和sync包的使用吗?咱们来回顾一下分享了通道是什么,通道的种类无缓冲,有缓冲,单向通道具体对应什么对于通道的具体实践分享了关于通道的异常情况整理简单分享了sync包的使用要是对上述内容还有点兴趣的话,欢迎查看文章 GO通道和 sync 包的分享chan 是什么?是一种特殊的 ......
327
0
0
2022-04-29
GO 中 map 的实现原理嗨,我是小魔童哪吒,我们来回顾一下上一次分享的内容分享了切片是什么切片和数组的区别切片的数据结构切片的扩容原理空切片 和 nil 切片的区别要是对 GO 的slice 原理还有点兴趣的话,欢迎查看文章 GO 中 slice 的实现原理map 是什么?是 GO 中的一种数据类型,底层实现是 hash 表,看到 hash 表 是不是会 ......
329
0
0
2022-04-28
GO 中 slice 的实现原理上次我们分享的字符串相关的内容咱回顾一下分享了字符串具体是啥GO 中字符串的特性,为什么不能被修改字符串 GO 源码是如何构建的 ,源码文件在 src/runtime/ 下的 string.go字符串 和 []byte 的由来和应用场景字符串与 []byte 相互转换要是对GO 对 字符串 的编码还有点兴趣的话, 欢迎查看文章 ......
316
0
0
2022-04-28
GO 中 string 的实现原理上次我们分享的内容咱回顾一下分享了ETCD的简单单点部署,ETCD 使用到的包安装,以及会遇到的问题ETCD 的设置 和 获取KEYETCD 的WATCH 监控 KEY的简化ETCD 的租约 和保活机制ETCD 的分布式锁的简单实现要是对GO 对 ETCD 的编码还有点兴趣的话, 欢迎查看文章 GO 中 ETCD 的编码案例 ......
317
0
0
2022-04-28
GO 中 ETCD 的编码案例分享我们来回顾一下上次我们说到的 服务注册和发现分享了服务注册和发现是什么CAP 定理是什么ETCD 是什么,以及ETCD 和 Zookeeper的对比ETCD 的分布式锁实现的简单原理要是对 服务注册与发现,ETCD 还有点兴趣的话,欢迎查看文章 服务注册与发现之ETCD今天我们来看看 GO 如何去操作 ETCD ,这个开源的 ......
325
0
0
2022-04-28
一、结构体和方法1.Go面向对象的特性Go语言不是纯粹的面向对象的语言,准确是描述是,Go语言支持面向对象编程的特性.Go语言中没有传统的面向对象编程语言的 class ,而Go语言中的 struct 和 其他编程语言中的 class 具有同等地位,也就是说Go语言是 基于 struct 来实现 面向对象 的特性的面向对象编程在Go语言中的支持设计得很具有特 ......
284
0
0
2022-04-28
学习,动手实战,写作这是最有效的学习方式。买了这个课程,愿能节省时间,让我快速入门,然后进军编程世界的广阔而深邃的大海。开发环境国产linux发行版本deepin,用go mod代替传统的gopath:首先要开启 GO111MODULE,go mod这是go1.11之后官方新发布的特性,你的项目目录千万不要建立在GOPATH/src下面,go mod 和 G ......
326
0
0
2022-04-28
一、介绍队列:是一种特殊的线性表特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。二、逻辑例:现有一个空队列1.添加元素:q{ },我们向队列中加入(push)元素,push(1)则 q{ 1 ......
313
0
0
2022-04-28