网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

go mod使用
2020-06-10 02:39 admin gomod

最近由于换工作,开始交接工作。整理以前的工作内容,由于组内就我一个在做go和大数据。所以开发没有规划,当时是怎么快怎么来。go也是使用最传统的gopath的方式管理的。都是手动管理依赖的。现在交接给他人,需要多人开发,发现很多问题。比如版本问题,各种依赖的问题等等。由于工作原因,几乎所有主流语言都写过。所以,对应语言包...
阅读全文

100 行写一个 go 的协程池 (任务池)
2020-06-10 02:39 admin go行写

前言go的goroutine提供了一种较线程而言更廉价的方式处理并发场景,go使用二级线程的模式,将goroutine以M:N的形式复用到系统线程上,节省了cpu调度的开销,也避免了用户级线程(协程)进行系统调用时阻塞整个系统线程的问题。【1】但goroutine太多仍会导致调度性能下降、GC频繁、内存暴涨,引发一系列...
阅读全文

解放数据库查询, 写一个 go 的查询构造器
2020-06-10 02:39 admin go查询

前言数据库查询在go开发中,查询数据库一般有两种选择:*使用orm(gorm\xorm等)*直接写SQL直接编写SQL语义清晰,不易出错,但是遇到多个可变条件时显得不灵活ORM有模型关系,记录预加载(sql生成优化)等功能,但是sql语句对开发人员相对透明,管了太多数据库相关的东西,相对封闭,语法晦涩语义不明确,想要操...
阅读全文

GO语言web框架Gin之完全指南(二)
2020-06-10 02:38 admin goweb

这篇主要讲解**自定义日志**与**数据验证**参数验证我们知道,一个请求完全依赖前端的参数验证是不够的,需要前后端一起配合,才能万无一失,下面介绍一下,在Gin框架里面,怎么做接口参数验证的呢gin目前是使用[go-playground/validator](https://links.jianshu.com/go?...
阅读全文

golang快速入门[4]-go语言如何编译为机器码
2020-06-10 02:37 admin golanggo

**前文*******在上文中,我们详细介绍了第一个helloworld程序__packagemainimport"fmt"funcmain(){fmt.Println("Hello,world")}*在本文中,我们将介绍初学者比较关心的话题:go语言如何编译为机器码*本文的目标是希望读者对go语言的编译过程有一个全面...
阅读全文

golang快速入门[5.1]-go语言是如何运行的-链接器
2020-06-10 02:37 admin golanggo

**前文*********前言***在上一篇文章中,我们详细介绍了go语言编译为机器码经历的:词法分析=>语法分析=>类型检查=>中间代码=>代码优化=>生成机器码*但是在源代码生成执行程序的过程中,其实还经历了链接等过程。总的来说一个程序的生命周期可以概括为:编写代码=>编译=>链接=>加载到内存=>执行*在第5章我...
阅读全文

golang快速入门[5.2]-go语言是如何运行的-内存概述
2020-06-10 02:37 admin golanggo

**前文**********前言***总的来说一个程序的生命周期可以概括为:编写代码=>编译=>链接=>加载到内存=>执行*在上一篇文章中,我们详细介绍了go语言编译链接的过程*在本文中,我们将对内存进行简单介绍*在下文中,我们将介绍内存分配以及go语言中的内存分配**内存***在计算机中,术语"内存"又叫做主存,通常...
阅读全文

golang快速入门[5.3]-go语言是如何运行的-内存分配
2020-06-10 02:37 admin golanggo

**前文***********前言***在上文中,我们对于内存、虚拟内存、程序等概念做了简单介绍*在本文中,我们将介绍内存分配以及go语言实现的内存分配方式**内存分配**image*在上文中,我们介绍了,从虚拟内存的角度,程序内存大致可以分为5个段`text`、`data`、`bss`、`stack`、`heap`*...
阅读全文
顶部 底部