Golang
文章平均质量分 66
Golang
七八月份的太阳
厚积薄发
展开
-
goland 20.1.1小技巧
golang 20.1.1小技巧磨刀不误砍柴工版本号: Year.Major.Minor 2020 1 1在命令行使用goland:使用过vscode的同学也肯定使用过来打开代码仓库code .这个功能goland也支持我们可以通过设置toolbox来打开该功能:在使用goland . 即可打开项目仓库 :在github直接打开项目(需要在浏览器内下载toolbox插件):直接clone项目:插...原创 2020-05-18 17:33:43 · 793 阅读 · 0 评论 -
使用go 制作自己的命令行工具
为了方便工作中一些经常进行的操作我们都会写成工具来方便使用,今天我们就用go来实现一个命令行工具。目的是在当前文件夹下build一个项目类似这种当然其中的go结尾文件都是自己加进去的:使用到的框架:github.com/urfave/cli/v2文档地址:https://github.com/urfave/cli/blob/master/docs/v2/manual.md效果图:按照文档中解释以及demo选择自己需要的功能,详情查看注释即可:main.go:p原创 2020-05-17 15:19:21 · 2167 阅读 · 0 评论 -
golang jenkins devops (一)
首先创建项目并上传至任意git 仓库为了演示jenkins ssh登录这里我创建的是 私有仓库:code:项目结构:Init.go:package Initimport ( "fmt" "github.com/jinzhu/configor")func Init(config configor.Config) { fmt.Println("Init")...原创 2020-04-05 22:00:08 · 1001 阅读 · 0 评论 -
golang redis(三)
(二) :https://blog.csdn.net/weixin_40165163/article/details/103462760redis安装:https://blog.csdn.net/weixin_40165163/article/details/103184001redis监控:https://blog.csdn.net/weixin_40165163/article/de...原创 2020-01-06 22:42:58 · 554 阅读 · 0 评论 -
golang redis(二)
(一) :https://blog.csdn.net/weixin_40165163/article/details/103459670redis安装:https://blog.csdn.net/weixin_40165163/article/details/103184001redis监控:https://blog.csdn.net/weixin_40165163/article/de...原创 2019-12-09 18:19:06 · 188 阅读 · 0 评论 -
golang 目录结构
摘自:https://github.com/golang-standards/project-layout/cmdmain函数文件(比如/cmd/myapp.go)目录,这个目录下面,每个文件在编译之后都会生成一个可执行的文件。不要把很多的代码放到这个目录下面,这里面的代码尽可能简单。/internal应用程序的封装的代码,某个应用私有的代码放到/internal/myap...原创 2019-11-26 14:41:25 · 945 阅读 · 0 评论 -
golang的HashSet
自己实现一个HashSet记录一下import ( "errors" "reflect")type HashSet struct { //数据载体 data map[interface{}]interface{} //数据类型 dataType string //数据数量 count int}/**初始化并指定存储对象的类型*/func NewHashSe...原创 2019-11-03 22:45:04 · 2890 阅读 · 0 评论 -
Golang GC概述
垃圾回收垃圾回收器一直是被诟病最多,也是整个运行中改进最努力的部分。所有变化都是为了缩短STW时间,提高程序实时性。大事记:2014年6月 1.3并发清理 2015年8月 1.5三色并发标记上述并发是指垃圾回收和用户逻辑并发执行。Golang GC按照官方的说法,Golang GC的基本特征是“非分代、非紧缩、写屏障、并发标记清理”。The GC runs concu...原创 2019-06-19 23:38:55 · 4156 阅读 · 0 评论 -
Golang defer解读
deferdefer是Go语言提供的一种用于注册延迟调用的机制:让函数或语句可以在当前函数执行完毕后(包括通过return正常结束或者panic导致的异常结束)执行。defer语句通常用于一些成对操作的场景:打开链接/关闭链接 加锁/释放锁 打开文件/关闭文件defer在一些需要回收资源的场景非常有用,可以很方便地在函数结束前做一些清理操作。在打开资源语句的下一行,直接一句def...转载 2019-06-16 20:03:26 · 5761 阅读 · 0 评论 -
Golang interface你想了解的这里都有!
Golang interface在了解类型断言之前我们需要新了解一下interface,所以interface算是下一个博客内容的铺垫。什么是interface,它都有什么用处?1.interface type就是一组方法签名的集合。我们使用一个接口来识别一个对象能够进行的操作。这也是我们最常用的方式,不管是在golang这门语言还是其他OOP类型的语言,碰到一个interfac...原创 2019-06-13 23:46:58 · 5449 阅读 · 0 评论 -
Golang try catch与错误处理
Golang try catch虽然在使用Golang的时候发现没有try catch这种错误处理机制但是想一想golang作为一门优雅的语言,似乎也是情理之中。因为在java中 throws在函数签名中有一个关键字,旨在使异常流程比较简洁,但是一旦预期的异常数量增加,就很难准确捕捉到具体异常所在。虽然golang中并不提供try catch的写法但是零值概念啊等等一些设计,在加上在pan...原创 2019-06-12 23:38:20 · 35110 阅读 · 0 评论 -
Golang 爬虫学习
完整代码:https://github.com/zhumengyifang/Reptile.git爬虫在目前已经属于很多公司必须的技术了,今天闲着无聊,试试用golang爬一爬。爬取目标:统计博客访问量使用技术:golang 、 goquery、net/http其实爬虫如果简单学学还是蛮简单的,如果不去搞反爬虫的网站的话。。。。如果涉及到爬虫与反爬虫的话这里面的学问还是蛮多的,爬虫...原创 2019-06-09 22:29:01 · 6053 阅读 · 0 评论 -
Golang 无法下载依赖解决方案 unrecognized import path "golang.org/x/net
golang Modules 依赖管理工具使用:https://blog.csdn.net/weixin_40165163/article/details/90112861Golang 无法下载依赖解决方案今天本来想写一下爬虫程序的,所以就用到了"github.com/PuerkitoBio/goquery"这个框架,但是在项目中使用golang Modules却无法下载还报了以下错误:...原创 2019-06-08 18:02:40 · 21826 阅读 · 1 评论 -
Golang访问者设计模式(二十四)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/91128627访问者模式在访问者模式中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类...原创 2019-06-07 19:03:13 · 6086 阅读 · 0 评论 -
Golang 模版设计模式(二十三)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/91128342模版设计模式在模版模式中,一个抽象类公开定义了执行它的方法的方式、模版。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行...原创 2019-06-07 16:54:23 · 6999 阅读 · 2 评论 -
Golang策略模式(二十二)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/91128083策略模式在策略模式中,一个类的行为或其他算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的...原创 2019-06-07 16:25:57 · 6615 阅读 · 0 评论 -
Golang空对象模式(二十一)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/91127768空对象模式在空对象模式中,一个空对象取代nil对象实例的检查,nil对象不是检查空值,而是反应一个不做任何动作的关系。这样的nil对象也...原创 2019-06-07 15:48:41 · 7783 阅读 · 0 评论 -
Golang状态设计模式(二十)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/91127487状态模式在状态模式中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为模式。在状态模式中,我们创建表示各种状态的对象和一个行...原创 2019-06-07 15:20:44 · 7200 阅读 · 0 评论 -
Golang观察者设计模式(十九)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/91052749观察者设计模式当对象间存在一对多关系时,则使用观察者模式。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。...原创 2019-06-07 14:44:12 · 5976 阅读 · 0 评论 -
Golang备忘录设计模式(十八)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/91050720备忘录设计模式备忘录模式保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为模式。介绍意图:在不破坏封装性的前提...原创 2019-06-06 23:07:31 · 5922 阅读 · 0 评论 -
Golang中介者设计模式(十七)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇:https://blog.csdn.net/weixin_40165163/article/details/90968990中介者模式中介者模式是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持送耦合,是代码...原创 2019-06-06 22:53:57 · 6127 阅读 · 0 评论 -
Golang迭代器设计模式(十六)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇解释器设计模式:https://blog.csdn.net/weixin_40165163/article/details/90815146迭代器模式迭代器模式是比较常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要直到集合对象的底层表示,迭代器属于行为...原创 2019-06-05 23:24:04 · 6321 阅读 · 3 评论 -
Golang解释器设计模式(十五)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇命令模式:https://blog.csdn.net/weixin_40165163/article/details/90814345解释器模式解释器模式提供了评估语言的愈发或表达式的方式,它属于行为型模式,这种模式实现了一个表达式接口,该接口解释一个特定的上下...原创 2019-06-05 23:14:00 · 6169 阅读 · 0 评论 -
Golang命令设计模式(十四)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇责任链设计模式:https://blog.csdn.net/weixin_40165163/article/details/90814115命令模式命令模式是一种数据驱动的设计模式,它属于行为模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处...原创 2019-06-04 22:28:26 · 6280 阅读 · 0 评论 -
Golang责任链设计模式(十三)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇代理设计模式:https://blog.csdn.net/weixin_40165163/article/details/90760219责任链模式顾名思义,责任链模式为请求创建了一个接受者对象的链,这种模式给予请求的类型,对请求的发送者和接受者进行解偶。这种类...原创 2019-06-04 22:10:31 · 6534 阅读 · 0 评论 -
Golang代理设计模式(十二)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇享元设计模式:https://blog.csdn.net/weixin_40165163/article/details/90760219代理设计模式在代理模式中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有对象的对...原创 2019-06-03 23:16:02 · 6096 阅读 · 0 评论 -
Golang享元设计模式(十一)
github:https://github.com/zhumengyifang/GolangDesignPatterns上一篇外观设计模式:https://blog.csdn.net/weixin_40165163/article/details/90759617享元设计模式享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象...原创 2019-06-03 22:41:57 · 6017 阅读 · 0 评论 -
Golang外观设计模式(十)
上一篇组合设计模式:https://blog.csdn.net/weixin_40165163/article/details/90740155github:https://github.com/zhumengyifang/GolangDesignPatterns外观设计模式wiki百科:外观设计模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属...原创 2019-06-03 22:01:19 · 5964 阅读 · 0 评论 -
Golang装饰器设计模式(九)
上一篇组合设计模式:https://blog.csdn.net/weixin_40165163/article/details/90734545github:https://github.com/zhumengyifang/GolangDesignPatterns装饰器设计模式wiki百科:装饰器设计模式允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构...原创 2019-06-02 22:07:22 · 7180 阅读 · 0 评论 -
Golang组合设计模式(八)
上一篇桥接设计模式:https://blog.csdn.net/weixin_40165163/article/details/90731470github:https://github.com/zhumengyifang/GolangDesignPatterns组合设计模式wiki百科: 组合模式,又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合...原创 2019-06-02 15:45:54 · 6210 阅读 · 0 评论 -
Golang桥接设计模式(七)
上一篇桥接设计模式:https://blog.csdn.net/weixin_40165163/article/details/90716357github:https://github.com/zhumengyifang/GolangDesignPatterns桥接设计模式桥接是用于把抽象化与实现化解偶,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化...原创 2019-06-01 22:51:42 · 6386 阅读 · 0 评论 -
Golang 过滤器设计模式(六)
上一篇:适配器设计模式https://blog.csdn.net/weixin_40165163/article/details/90716357github:https://github.com/zhumengyifang/GolangDesignPatterns过滤器设计模式wiki百科:过滤器设计模式或标准模式是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通...原创 2019-06-01 22:47:32 · 7307 阅读 · 0 评论 -
Golang 适配器设计模式(五)
上一篇原型设计模式:https://blog.csdn.net/weixin_40165163/article/details/90671135github:https://github.com/zhumengyifang/GolangDesignPatterns适配器设计模式wiki百科:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模...原创 2019-06-01 16:55:47 · 6067 阅读 · 0 评论 -
Golang 原型设计模式(四)
上一篇: 建造者设计模式https://blog.csdn.net/weixin_40165163/article/details/90648578在了解原型模式之前我们需要首先了解Golang的深拷贝与浅拷贝:https://blog.csdn.net/weixin_40165163/article/details/90680466github:https://github.com/zh...原创 2019-05-30 23:40:34 · 6347 阅读 · 0 评论 -
Golang深拷贝浅拷贝
Golang深拷贝浅拷贝在了解原型设计模式之前我们需要新知道Golang的深拷贝与浅拷贝之间的区别。推荐大家新看看Slice 和 Map那么常见的坑:https://blog.csdn.net/weixin_40165163/article/details/90707593github:https://github.com/zhumengyifang/GolangDesignPatte...原创 2019-05-30 23:19:37 · 34710 阅读 · 2 评论 -
Golang Slice和map的坑
Slice和map的坑一、浅拷贝同根func main() { nums := [3]int{} nums[0] = 1 fmt.Printf("nums: %v , len: %d, cap: %d\n", nums, len(nums), cap(nums)) dnums := nums[0:2] dnums[0] = 5 fmt.Printf("nums: %v ...原创 2019-05-30 22:48:44 · 8796 阅读 · 0 评论 -
Golang 建造者设计模式(三)
上一篇:https://blog.csdn.net/weixin_40165163/article/details/90648149单例设计模式建造者设计模式造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类...原创 2019-05-29 21:39:52 · 5978 阅读 · 1 评论 -
Golang 工厂设计模式(一)
设计模式:wiki百科:设计模式(Design pattern)代表了最佳的实践,通常被软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化...原创 2019-05-28 22:01:11 · 7111 阅读 · 0 评论 -
Golang 单例设计模式(二)
上一篇:https://blog.csdn.net/weixin_40165163/article/details/90647759工厂设计模式单例设计模式:wiki百科: 单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的...原创 2019-05-28 22:28:39 · 6052 阅读 · 0 评论 -
Golang 链表排序、回文、合并K个有序列表
GItHub:https://github.com/zhumengyifang/golangleetcode数据结构:type ListNode struct { Val int Next *ListNode}代码皆经过测试:/**排序链表*/func SortListNode(head *Model.ListNode) *Model.ListNode { if...原创 2019-05-27 22:20:44 · 6354 阅读 · 2 评论