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

golang 基础 fmt 包(35)
2020-06-10 02:46 admin golangfmt

golang_real.jpggolang基础系列分享,之前的内容比较粗而且有的存在问题,我在发布新的内容还同时不断更新之前的分享希望大家关注,也希望对于您学习go这门语言有所帮助。在之前分享中用的最多就是`fmt`包来将结果输出便于学习和调试。`fmt`这包提供打印函数将字符串输出到控制台、文件或其他满足io.Wri...
阅读全文

golang 基础(33)异常处理
2020-06-10 02:46 admin golang异常

golang_real.jpg对出初学者往往忽视程序中异常处理,认为程序总是是在一个被百般呵护的环境运行,没有任何风吹雨打,这是因为我们是最了解自己程序的人。所以我们知道他喜欢什么,什么能吃什么不能吃。不过终归有一天他回归自然。这是适应外界环境是他能否在激烈竞争市场存活的基本条件。这种适应外界恶劣环境能力就是他对异常或...
阅读全文

使用Go与以太坊智能合约交互
2020-06-10 02:46 admin go以太

尽管最近遇到了些麻烦,但以太坊仍然是区块链领域内智能合约的最大参与者,这似乎不会很快改变。在我看来,技术本身具有很大的潜力,是从学术的角度看很有意思,但正如上面提到的问题和之前的许多问题是区块链技术方面的,智能合约,特别是具有Solidity的以太坊生态系统还是不太成熟的,并没有为prime-time和生产用例做好准备...
阅读全文

go微服务系列之二
2020-06-10 02:46 admin go之二

这是使用gomicro开发微服务系列的第二篇,在上一篇中我只是使用了user-srv和web-srv实现了一个demo,在这里我将实用consul实现服务发现。如果想直接查阅源码或者通过demo学习的,可以访问。如何编写一个微服务?这里用的是go的微服务框架gomicro,具体的情况可以查阅:[http://btfak...
阅读全文

golang 基础(31) 锁
2020-06-10 02:46 admin golang基础

square-gopher.png在go语言中提供了并发编程模型和工具外,还提供传统的同步工具锁,包括**互斥锁**和**读写锁**有关互斥锁有些内容我们必须清楚,也就是对于同一个互斥锁的锁定操作和解锁操作应该是成对出现。如果一个锁定一个已经锁定的互斥锁,那么进行重复锁定操作的goroutine将被阻塞,直到该互斥锁回...
阅读全文

golang 网络编程(6)中间件
2020-06-10 02:46 admin golang中间件

golang_real.jpg在前面的分享我们通过学习自己动手写了两个拦截器,输出日志和简单权限校验。这也是我们中间件通常要做的事。其实很多时候我们不需要自己做过多事,想喝咖啡我们还有必要去种、烘焙、研磨吗?直接麦当劳了。不过我们简单了解一下中间件实现原理还是很有必要的。先拿日志系统举例吧。通常我们的日志需要以文件形式...
阅读全文

go 语言中 RPC
2020-06-10 02:46 admin goRPC

golang_real.jpg微服务已经hot了一段时间,自己作为web开发人员当然也不由自主想研究研究微服务,不过微服务的整个知识体系过于庞大,要掌握的概念和技术太多,一时有点吃不消。个人为了生计又没有大块时间去搞。不过还是难舍微服务,最近学习了go语言,想一块一块地吃掉微服务,先从go和容器入手。我们知道微服务之间...
阅读全文

golang 网络编程(3)
2020-06-10 02:46 admin golang编程

square-gopher.png`text/template`__typeTutstruct{TitlestringAuthorstring}先定义数据结构,我们可能总是习惯用我们熟知语言例如java中对应的类来理解go语言中结构,这就错了,在学习一门外语的时候我们总是在头脑中先翻译为中文,然后通过中文含义去理解外语...
阅读全文

Golang的入门教程(四)
2020-06-10 02:45 admin golang入门教程

1:变量逃逸堆和栈各有优缺点,该怎么在变成中处理这个问题呢?Go语言将这个过程整合到编译器中,命名为"变量逃逸分析".这个技术由编译器分析代码的特征和代码生命周期,决定应该如何堆还是栈进行内存分配,即使程序员使用Go语言完成了整个工程后也不会感受到这个过程.1.1:逃逸分析如何通过命令行分析变量逃逸,代码如下__pac...
阅读全文

从源码角度看Golang的堆内存管理
2020-06-10 02:45 admin golang源码

从源码角度看Golang的堆内存管理本章主要从源码角度针对Go堆上的内存管理进行分析。仅关注linux系统下的逻辑。代码版本GO1.9.2。本章例子中的代码对应详细注释参考:[gosrc-reader](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2...
阅读全文

利用vscode当golang编写IDE的配置过程
2020-06-10 02:45 admin golangvscode

vscode以良好的兼容性进来收到追捧。整个vscode执行效率比基于java的ide效率又高。一直用liteide来编写golang,但是liteide调试时断点不能实时增删,每次增删断点,重新运行调试才有用,而且变量窗口观察变量又不方便。于是乎开始琢磨用vscode。偶然看到一个大神发布的一个vscode包含了go...
阅读全文

【轻知识】Go入门学习整理——第四节web开发,http请求处理流程、一个简单的名单录入。
2020-06-10 02:45 admin goweb

先从helloworld开始关于web的开发知识,其实绕不过astaxie(beego作者)写的[《build-web-application-with-golang》](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2Fastaxie%2Fbuild...
阅读全文

【轻知识】Go入门学习整理——第三节(函数、struct、封装、继承、多态)
2020-06-10 02:45 admin go多态

函数>Go只有值传递>Go函数返回值的两种写法。这个其实没太多要说的。有的教程提到了面向函数范式编程(functionalprogramming)。这篇文章中不说。先说个点main函数这个函数不能有返回值跟参数。同样init函数也是如果你写了返回值。就会报红(musthavenoargumentsandnoreturn...
阅读全文

【轻知识】Go入门学习整理——第五节,数据入mysql、入redis、包管理glide、beego框架略览
2020-06-10 02:45 admin mysqlgo

mysql继续上节的代码。上节的代码是把数据存到了数组中。相当于存到了内存中了。现在操作MySQL。添加数据到mysql中,从mysql中查询数据,并删除一个类库的使用似乎没有什么太难的。test库yan_user表。__CREATETABLE`yan_user`(`id`SMALLINT(5)UNSIGNEDNOTN...
阅读全文

go微服务系列之一
2020-06-10 02:45 admin go系列

hey,好久没有发博客了,最近换了新东家有点忙(其实是忙着学习,不是工作,毕竟为了money放弃了较擅长的java投向了go),很多要学的;这是在新公司接触微服务框架(micro框架)后的总结,在未来,我将会较深入的研究go和微服务,之后也会陆陆续续的发布一些文章,如果想直接查阅源码或者通过demo学习的,可以访问。如...
阅读全文
顶部 底部