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

golang快速入门[7.1]-项目与依赖管理-gopath
2020-06-10 02:38 admin golanggopath

**前文***************前言***在之前文章中,我们介绍了go语言开发环境的配置*在本章中,我们将介绍go语言的项目结构、项目管理以及依赖管理。在本文中,我们关注`gopath`**gopath是什么***在go语言开发环境配置文章中,我们介绍了配置`gopath`与`goroot`环境变量的步骤,但是并...
阅读全文

构建乘积数组
2020-06-10 02:38 admin 乘积数组

题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例__输入:[1,2,3,4,5]输出:[120,60,40,30,24]思路1.可以从题目给出的公式中,推导出一幅图。2....
阅读全文

golang快速入门[7.2]-北冥神功—go module绝技
2020-06-10 02:38 admin golang北冥

前文************题记*《庄子》‘逍遥游’有云:且夫水之积也不厚,则其负大舟也无力。覆杯水于坳堂之上,则芥为之舟;置杯焉则胶,水浅而舟大也。*我们今天要介绍的就是北冥神功—gomodule绝技,以吸收他人内力为己所用。而且别人的内力愈强吸力愈大。极天下代码于一身,好不快活。前言*在上文中,我们介绍了`gopa...
阅读全文

golang快速入门[8.1]-变量类型、声明赋值、作用域声明周期与变量内存分配
2020-06-10 02:38 admin 变量声明

前文*************题记*在上一篇文章中,我们介绍了吸心大法—gomodule的技巧来引用第三方代码,但是看过武侠小说的同学都知道,只有内力没有招式那也是花架子。正所谓"巧妇难为无米之炊",我们将在后面几章巩固基本功,介绍go语言的语法、基本概念和性质。前言我们将在本文中学习到:*变量的内涵*变量的数据类型*...
阅读全文

教你如何用Golang打造实时聊天系统
2020-06-10 02:38 admin golang聊天

/static/upload/bigpic/20200608/项目截图简介在本次课程中,我们来学习使用WebSocket来打造一个实时聊天系统。我们会从一下几个方面来进行学习:什么是websocket;Websocket与传统的HTTP协议有什么区别;Websocket有哪些优点;如何建立连接;如何维持连接;Golan...
阅读全文

? golang日志框架zap简洁配置
2020-06-10 02:38 admin golangzap

golang日志框架zap简洁配置$前言*zap是uber开源的一款高性能日志组件框架$配置目标*错误信息独立的文件记录*日志按天分割,一天一个文件*只保留近七天的日志*错误日志输出堆栈源码__packagebaseimport("fmt"rotatelogs"github.com/lestrrat-go/file-r...
阅读全文

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

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

Golang 2FA双因素认证
2020-06-10 02:38 admin golangFA

image.png原文1\.前言双重认证(英语:Two-factorauthentication,缩写为2FA),又译为双重验证、双因子认证、双因素认证、二元认证,又称两步骤验证(2-StepVerification,又译两步验证),是一种认证方法,使用两种不同的元素,合并在一起,来确认用户的身份,是多因素验证中的一个...
阅读全文

部署超简单的Golong分布式WebSocket微服务
2020-06-10 02:37 admin GolongWebSocket

使用场景在实现业务的时候,我们常常有些需求需要系统主动发送消息给客户端,方案有轮询和长连接,但轮询需要不断的创建销毁http连接,对客户端、对服务器来说都挺消耗资源的,消息推送也不够实时。这里我们选择了WebSocket长连接的方案。有大量的项目需要服务端主动向客户端推送消息,为了减少重复开发,我们做成了微服务。使用于...
阅读全文

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

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

Golang 笔记之深入浮点数
2020-06-10 02:37 admin golang浮点数

引言下面的一段简单程序0.3+0.6结果是什么?__varf1float64=0.3有人会天真的认为是0.9,但实际输出却是0.8999999999999999(go1.13.5)问题在于大多数小数表示成二进制之后是近似且无限的。以0.1为例。它可能是你能想到的最简单的十进制之一,但是二进制看起来却非常复杂:0.000...
阅读全文

golang-raft算法理论与实践
2020-06-10 02:37 admin 算法golangraft

**前言***我计划写raft的一系列文章,包含从理论到代码实践,此文章依托于MIT的研究生课程。**背景***raft是一种分布式的共识算法,其目的是要实现多个节点集群的容错性,一致性从而能够构建大规模的软件系统。*在raft之前,比较有名的是Paxos。但是paxos难于理解。*raft的诞生是为了让共识算法更容易...
阅读全文

raft理论与实践[6]-lab3a-基于raft构建分布式容错kv服务
2020-06-10 02:37 admin raftlaba

准备工作*阅读*阅读*阅读*阅读*阅读*阅读*阅读前言*在之前的文章中,我们实现了raft算法的基本框架*在本实验中,我们将基于raft算法实现分布式容错的kv服务器*客户端用于交互raft服务器*kvraft/client.go文件用于书写我们的客户端代码,调用Clerk的Get/Put/Append方法为系统提供强...
阅读全文

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

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

2020教你深入理解Golang之channel
2020-06-10 02:37 admin golangchannel

前言Golang在并发编程上有两大利器,分别是channel和goroutine,这篇文章我们先聊聊channel。熟悉Golang的人都知道一句名言:“使用通信来共享内存,而不是通过共享内存来通信”。这句话有两层意思,Go语言确实在sync包中提供了传统的锁机制,但更推荐使用channel来解决并发问题。这篇文章会先...
阅读全文
顶部 底部