本文主要讲实践,原理部分会一笔带过,关于 go 语言并发实现和内存模型后续会有文章。 channel 实现的源码不复杂,推荐阅读,https://github.com/golang/go/… channel …
分类:go教程
golang框架gin中间件的写法
package main import ( "fmt" "github.com/gin-gonic/gin" ) func middleware() gin.HandlerFunc { return func(c *gi…
golang跳出for循环——匿名函数
搜索了golang退出for循环的方法,基本都是围绕 break label 和 goto。我觉得这两种方式都存在在程序里乱跳的缺点。想到了一个用匿名函数的方式,记录一下 匿名函数方式退出for循环 直接上代码 func…
go语言
【译】GOPATH 的默认值 “翻译自 Go 语言作者的博客。这只是设置了 GOPATH 默认值,GOROOT 还是得自己设置。” 从 Go 1.8 开始,如果 GOPATH 的环境变量为空,Go…
golang 入门
缘起 之前下载视频用的you-get,但是b站一直下不了,优酷也经常出问题,所以接触到lulu https://github.com/iawia002/Lulu 这个也是基于you-get 直接 pip install …
Go Channel 面试题解析
有一道这样的面试题目: 写代码实现两个 goroutine,其中一个产生随机数并写入到 go channel 中,另外一个从 channel 中读取数字并打印到标准输出。最终输出五个随机数。 凭直觉开始撸了以下代码: f…
Go搭建静态页面server笔记
go是一门简洁强大的语言,简单体验之后觉得对于网络和命令行的支持也非常棒,本文介绍一下go实现静态服务器的大致流程。 基础实现 最近接手了gobyexample的翻译工作,将项目重构后需要本地的测试环境。由于想要页面的u…
golang slice性能分析
golang在gc这块的做得比较弱,频繁地申请和释放内存会消耗很多的资源。另外slice使用数组实现,有一个容量和长度的问题,当slice的容量用完再继续添加元素时需要扩容,而这个扩容会把申请新的空间,把老的内容复制到新…
初识Golang
//今天第一次看Golang,作为初学者总结一下 为什么是GO 年轻,它的诞生必然有他的意义,根据大家对他的介绍,总结下来如下:Go 语言对于高性能分布式系统领域而言,无疑比大多数其它语言有着更高的开发效率,Go语言具有…
go语言renderer包代码分析
renderer是Go语言的一个简单的、轻量的、快速响应的呈现包,它可以支持JSON、JSONP、XML、HYAML、HTML、File等类型的响应。在开发web应用或RESTFul API的时候,这个包是非常方便的to…
golang不到20行代码实现路由调度
项目地址 github 本项目依赖 使用标准库实现,无额外依赖 为什么需要路由调度层 golang http标准库只能精确匹配请求的URI,然后执行handler。现在一般web项目都至少有个Controller层,以s…
Go基础学习记录 - 编写Web应用程序 - 重新调整项目目录结构(二)
转载Go基础学习记录 – 编写Web应用程序 – 重新调整项目目录结构(二)上篇文章整理了一部分的文件结构,本次再将剩余的一部分也处理下,其实很小的一部分, 将main中makeHandler函数…