网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
Golang设计模式——状态模式
状态模式及其结构**状态模式(State):**当一个对象的内部状态发生改变时,会导致其行为的改变,对象看起来似乎修改了它的类。其别名为状态对象(ObjectsforStates),状态模式是一种对象行为型模式。状态模式用于解决系统中**复杂对象的状态转换以及不同状态下行为**的封装问题。当系统中某个对象存在多个状态,...
阅读全文
初识grpc(一)——mac下的初体验
前言最近在做这样一个需求,一个PC客户端应用拥有一个system权限下的服务,这样的一个服务在执行高权限方面确实很有优势,解决了很多的权限难题,但任何事情都有两面性,在拥有高权限的同时也丧失了一些需要用户权限执行的功能,比如要获取显示器信息的时候,因为system的session下面是没有用户界面的,所以就无法准确获取...
阅读全文
golang 网络编程(1)
square-gopher.pngHttp请求是一种无状态的通讯模型,无状态可能对于初学者听起来有点confusing。这里的无状态表明每一次请求都是独立相互之间没有关系。每一次请求不会受到上一次请求的影响。在net/http模块中提供两个组件来处理Http请求。golang_real.jpgServeMuxServe...
阅读全文
我要在栈上。不,你应该在堆上
ixyP3XP.jpg原文地址:前言我们在写代码的时候,有时候会想这个变量到底分配到哪里了?这时候可能会有人说,在栈上,在堆上。信我准没错...但从结果上来讲你还是一知半解,这可不行,万一被人懵了呢。今天我们一起来深挖下Go在这块的奥妙,自己动手丰衣足食问题__typeUserstruct{IDint64Namestr...
阅读全文
【轻知识】Go语言学习:二叉树、BFS、DFS、反转二叉树(BFS、DFS)、层次遍历
我是为了练习方便,先在纸上花了一个二叉搜索树(满的二叉树)。image.png反转二叉树效果如下:image.pngdfs,讲真看过《大话数据结构》都记住了。当然这不是死记硬背的。而是去理解。二叉搜索树的中序遍历就是1,2,3,4,5,6,7。__packagemainimport("fmt")typeTreestru...
阅读全文
实战Go内存泄露
最近解决了我们项目中的一个内存泄露问题,事实再次证明pprof是一个好工具,但掌握好工具的正确用法,才能发挥好工具的威力,不然就算你手里有屠龙刀,也成不了天下第一,本文就是带你用pprof定位内存泄露问题。关于Go的内存泄露有这么一句话不知道你听过没有:>10次内存泄露,有9次是goroutine泄露。我所解决的问题,...
阅读全文
Golang的入门教程(三)
1:输出正弦函数图像在Go语言中,正弦函数由math包提供,函数入口为math.Sin.正弦函数的参数为float64,返回值也是float64.在使用正弦函数时,根据实际精度可以进行转换.Go语言的标准库支持对图片像素进行访问,并且支持输出各种图片格式,如JPEG,PNG,GUF等.__packagemainimpo...
阅读全文
SQL+RESTful开源GO脚手架工具ginbro(gin and gorm's brother) 详解
原文地址[https://mojotv.cn/2019/05/22/golang-felix-ginbro](https://links.jianshu.com/go?to=https%3A%2F%2Fmojotv.cn%2F2019%2F05%2F22%2Fgolang-felix-ginbro)
阅读全文
深入理解 Go panic and recover
作为一个gophper,我相信你对于`panic`和`recover`肯定不陌生,但是你有没有想过。当我们执行了这两条语句之后。底层到底发生了什么事呢?前几天和同事刚好聊到相关的话题,发现其实大家对这块理解还是比较模糊的。希望这篇文章能够从更深入的角度告诉你为什么,它到底做了什么事?原文地址:[深入理解Gopanica...
阅读全文
Beego 自动切换Linux壁纸
controllers/wallpaper.go__packagecontrollersimport("github.com/astaxie/beego""fmt""strings""io/ioutil""os/exec""os")typeMsgBeanstruct{StatusstringMessagestring}...
阅读全文
Go语言:xterm.js-websocket Web终端堡垒机
原文地址[https://mojotv.cn/2019/05/27/xtermjs-go](https://links.jianshu.com/go?to=https%3A%2F%2Fmojotv.cn%2F2019%2F05%2F27%2Fxtermjs-go)
阅读全文
mysql数据导出golang实现
mysql数据导出为excel文件,golang实现:首先下载依赖到的三方库:>Simpleinstallthepackagetoyour>withthe[go>tool](https://golang.org/cmd/go/)fromshell:__$goget-ugithub.com/go-sql-driver/m...
阅读全文
gin框架自定义验证错误提示信息
在使用gin框架的过程中,请求验证的错误信息返回一直困扰着我,gin的文档中是这样来返回错误信息的__router.POST("/loginJSON",func(c*gin.Context){varjsonLoginiferr:=c.ShouldBindJSON(&json);err==nil{ifjson.User=...
阅读全文
golang面试基础系列-range的坑(三)
在`Go`中,`forrange`用来遍历`slice,map,chan`等,使用频率很高,但遍历虽好用,却很容易踩坑,且看`demo`如下:1\.只有一个返回值时,则第一个参数是`index`__packagemainimport"fmt"funcmain(){s:=[]string{"a","b","c"}//只有...
阅读全文
golang的反射机制与实践(上)
写在前面反射机制是一个很重要的内容,当我们写框架的时候,要想要松耦合,高复用,那么就有很多地方都需要用到反射,可谓是中高级程序员必须掌握的知识点很多后台语言都有反射机制,但它们的使用原理大多都是一样的各语言不同的地方,大致就是代码实现方式不一致罢了**其根本,都是从变量得到反射对象,再由反射对象去操作原变量**好了,步...
阅读全文