go
中国流浪猫
不想当写博客的博主。从事软件开发5年了,也写过很多技术文档,没有写博客。朝花夕拾。
展开
-
Golang实现 TCP代理
golang实现TCP代理原创 2021-06-07 23:07:07 · 496 阅读 · 0 评论 -
go linux 根据进程名查找进程
func runInWindows(cmd string) (string, error) { result, err := exec.Command("cmd", "/c", cmd).Output() if err != nil { return "", err } return strings.TrimSpace(string(result)), err}func RunC...原创 2019-12-04 14:46:42 · 5022 阅读 · 1 评论 -
记录几个go的工具,协程安全Map和Map,slice,struct及其指针类型Copy
deepCopy可以完成map,slice,strcut以及相对应的指针类型的Copyfunc deepCopy(dst, src reflect.Value) { switch src.Kind() { case reflect.Interface: value := src.Elem() if !value.IsValid() { return } newVa...原创 2019-11-25 11:15:51 · 414 阅读 · 0 评论 -
golang实现Redis分布式锁
golang实现Redis分布式锁原创 2019-03-11 22:31:02 · 105 阅读 · 0 评论 -
golang 堆排序
package mainimport "fmt"func main() { data:=[]int{10,1,23,24,7,8,9,6,4,288,99,3,34} for i:=0;i<len(data)-2;i++{ //从最后一个父节点开始调整 for j:=len(data[i:])/2-1;j>=0;j--{ //把这个二叉树变成可处理的二叉树 ...原创 2018-12-26 21:09:13 · 585 阅读 · 0 评论 -
go 的一些官方文档地址
go test 官方文档 https://golang.org/pkg/testing/原创 2018-06-24 22:41:43 · 1650 阅读 · 0 评论 -
golang mongoDB 的集合创建以及增删改查操作
mongo官方没有golang 的官方驱动,但是有一个社区驱动: http://labix.org/mgo api文档:https://godoc.org/gopkg.in/mgo.v2#Collection.Update 数据的连接操作请看的我的上一篇博客,本文重点介绍mgo的CURD操作及遇到的坑。 mog的文档可以不用特别的创建,在数据插入的时候,如果驱动发现文档不存在,会自动创建。...原创 2018-04-12 17:43:57 · 12103 阅读 · 1 评论 -
golang 的container/list (一)
问题1:有了slice,还要list做什么? 问题2:list的底层实现是什么? 带着这两个问题来什么有浅入深的学习golang 语言 。 首先来看官方的解释: 包list 实现 linked list (链表) 而且是双向(doubly)链表。思路顺着双向链表走。 双向链表: 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从...原创 2018-03-29 13:00:41 · 6761 阅读 · 0 评论 -
go 数据库框架xorm 的使用
golang 连接mysql 的博客可以看我前面的文章。这片文章主要讲xorm,我试过golang 的orm 框架 有beego自带的数据库orm框架https://beego.me/docs/mvc/model/orm.md 有gorm 的数据框架 http://gorm.io/ 最后我选择了xorm数据orm框架官网地址:http://www.xorm.io/。 最喜欢xorm 的原因...原创 2018-03-28 15:19:47 · 6434 阅读 · 0 评论 -
go panic与recover分析及错误处理
先介绍一下什么叫error 类型 error 是一种类型,表示错误状态的类型,如果没有错误则是nil。直白点将:error 类型就是描述错误的一种类型。panic 在golang goroutine 的作用 panic 官方文档介绍: panic 是用来停止当前程序的执行。当一个方法调用panic。 当函数F调用panic时,F的正常执行立即停止。 但是任何有F推迟的函数...原创 2018-03-25 23:26:23 · 5959 阅读 · 1 评论 -
golang与redis的基本使用
package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { c, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println(err) ...原创 2018-03-25 20:57:39 · 3645 阅读 · 0 评论 -
golang 某一段IP端口扫描并且尝试ftp弱口令登录
先上githubhttps://github.com/china-muwenbo/goScanPort 使用golang开发的端口扫描程序,ftp弱口令登录程序。程序先对某一段ip地址的所有21端口进行扫描,如果发现21端口开放则使用ftp 弱口令(用户名ftp,密码123456)进行登录。runtime.GOMAXPROCS(runtime.NumCPU()) maxchan:...原创 2018-03-25 20:46:49 · 1190 阅读 · 0 评论