网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
区块链弹药库 — golang
golang悄悄走进的区块链为服务器端大并发场景设计。国内都谁在用golang呢?不用说google,人家推出的golang就是为了用和解决他面临的问题。google在Youtube、Google的下载站点项目都用到了golang。转向国内来看B:百度的部分流量前端已经是golang开发的了,现在日均分发流量千亿。A:...
阅读全文
Golang匿名函数参数的作用
今天写代码的时候用到了协程`gofunc`,发现func函数块内部的代码也能使用外部的局部变量,当时我就加上了打印发现闭包内部的变量值和外部的局部变量是一样的,就觉得很费解匿名函数的传参是什么用的?然后我就做了个小实验,运行如下代码__funcmain(){i:=1gofunc(){time.Sleep(100*tim...
阅读全文
Go 学习之路:引用类型与值类型
Golang中只有三种引用类型:slice(切片)、map(字典)、channel(管道);引用类型***引用类型理解为(C语言):指针**值类型*值的拷贝下面以值类型和slice(切片)例子可知:__packagemainimport"fmt"funcmain(){a:=[5]int{2,3,4,5,6}b:=afm...
阅读全文
golang基础(3)函数
我们还是用javascript来做对比,在golang语言中func关键字来声名函数__funcfoo(){//dostuff...}__funcfoo(){//dostuff...return3;//foo应该无返回值}foo(x,y)//调用时应该无参数我们在定义foo然后返回一个数值,需要为函数foo指定返回值类...
阅读全文
Golang中range指针数据的坑
在Golang中使用`forrange`语句进行迭代非常的便捷,但在涉及到指针时就得小心一点了。下面的代码中定义了一个元素类型为`*int`的通道`ch`:__packagemainimport("fmt")funcmain(){ch:=make(chan*int,5)//senderinput:=[]int{1,2,...
阅读全文
golang基础(2)基础类型
基本类型在开始之前,先补充一下上一次分享的内容,是不可以重复为变量foo初始化赋值的。__foo:='hello'foo:="world"我是一名web前端出身的developer,接触最早也是接触最多还是javascript,所以学习任何其他新的语言我都喜欢给javascript对比地来学。在javascript数据...
阅读全文
在 go 中实现 websocket 服务
目标:了解websocket,能够使用golang来实现websocket服务要求:了解go基本语法**webSocket的定义**WebSocket是基于TCP的一个双向传输数据的协议,和HTTP协议一样,是在应用层的.他的出现,是为了解决网页进行持久双向传输数据的问题。**WebSocket与HTTP的关系与TCP...
阅读全文
golang 开发后端基础(2)
继续周日内容,我们看一下home.html文件,在index中我们引入style.css作为样式表来控制页面的显示。将style.css放置public/css目录下。运行程序,我们没有看到页面有任何的变化,说明样式没有成功加载。看一下是什么原因,打开控制台看一下有关style.css的加载信息,发现html加载con...
阅读全文
爬取珍爱网后用户信息展示
golang爬取珍爱网,爬到了3万多用户信息,并存到了elasticsearch中,如下图,查询到了3万多用户信息。image.png先来看看最终效果:42.gif利用到了go语言的html模板库:执行模板渲染:__func(sSearchResultView)Render(wio.Writer,datamodel.S...
阅读全文
go channel详解之源码分析
作为golang并发编程思想的重要组成,channel(通道)非常重要,和goroutine(go协程)一起使用,用来实现go的CSP(CommunicatingSequentialProcesses)并发模型。>Donotcommunicatebysharingmemory;instead,sharememoryby...
阅读全文
Golang 用interface{} map 给struct赋值
在有些场景下,我们需要用一个map[string]interface{},map的key是struct中的一个tag的值,value是需要赋值的值,我们可以使用reflect包来进行操作。1.我们需要struct的指针,只有指针我们才能在函数中改变struct的值2.根据指针获取struct的实例,Type3.依次遍历...
阅读全文
golang构建http服务
>前面有介绍beegoweb框架,其实很多框架都是在>最简单的http服务上做扩展的的,基本上都是遵循http协议,将底层的封装好,我们使用web框架只要写业务逻辑,填代码就可以了,不用关心底层实现。下面?实现一个最简单的http服务__packagemainimport("fmt""net/http")funcInd...
阅读全文
Golang的水平组合思维(1)——interface wrapper function
什么是Golang的正交组合-水平组合思维:[TonyBai的博客-CodinginGOway-OrthogonalComposition](https://tonybai.com/2017/04/20/go-coding-in-go-way/)这篇文章研究其中提到的interfacewrapperfunction。_...
阅读全文
Golang的垂直组合思维——type embedding
什么是Golang的正交组合-垂直组合思维:[TonyBai的博客-CodinginGOway-OrthogonalComposition](https://links.jianshu.com/go?to=https%3A%2F%2Ftonybai.com%2F2017%2F04%2F20%2Fgo-coding-in...
阅读全文
Etcd 多节点安装实践
Etcd主要功能1.键值写入与读取。2.过期时间。3.观察者。4.租约。5.集群管理相关操作。6.维护操作。7.用户及权限管理。安装与配置*wget*解压下载sudotar-zxvfetcd-v3.3.10-linux-amd64.tar.gz-C/opt/*配置(配置为V3版本,系统默认的是v2,通过下面命令修改配置...
阅读全文