使用 go 写一个检测 tcp udp 状态的包

因为要跟着 dockerpool 的基友写 Docker 管理的程序,所以今年的目标是学习 go 语言。看完 go 的入门教程,高深的代码还看不懂,所以决定先尝试写一些平常可以用的东西,mac 底下的 nc 命令可以检测很多东西,但是用着不习惯,所以决定写一个 check tcp udp 的包。package main import ( "flag" "fmt" "net" ) const version = "0.1.0" var Input_protocol = flag.String("p...阅读全文

CSDN博客 2015-01-06 15:14 qcpm1983

开源项目gobuild.io求接手

简介 gobuild.io是一个在线服务的网站 http://gobuild.io。可以提供golang这门静态编译语言的在线编译和下载。但因为时间和精力缺乏的缘故,我想将项目交给一个可以维护他的人。 访问量 先说下风投最关心访问量。一开始关注度不是很高,每天也就3个左右的人访问。访问量是后来才上去的。访问人数最多的时候是2000,现在平均每天的访问人数大概是在70左右。因为我的疏于关怀,目前访问人数真的好少。但这是一个很好的项目,就像豌豆荚,Google Play,他就像是一个软件获取的入口。...阅读全文

开源中国博客 2015-01-06 15:40 go-skyblue

Ubuntu 配置 Go 语言开发环境(Sublime Text+GoSublime)

本文针对的 Go 语言版本为 1.1.1,之前也有相关文章讲解如何在 Ubuntu 下配置Go语言的开发环境,但时过境迁,一些方法已经不相同或者不必要。虽讲的是 Ubuntu 下安装配置过程,但 Windows 系统不仅下载更方便,配置环境部分大同小异,其中 64 位系统的 GCC 编译器可到 http://tdm-gcc.tdragon.net/ 下载。 第一步:安装Go语言相关工具 请在终端输入以下指令(如果发现下载速度一般,建议每个分开安装,否则一个安装失败将导致未安装的全部失败): vi...阅读全文

CSDN博客 2014-04-03 08:43 qfatao

初识go语言

1 花括号的使用: if expression {//正确使用方式 ... } 但下面这个写法就是错误的: if expression { ... } 2 Go 语言首创的错误处理规范: f, err := os.Open(filename) if err != nil { log.Println("Open file failed:", err) return } defer f.Close() ... // 操作已经打开的f文件 2.1 defer关键字 其一是 defer 关键字。 def...阅读全文

CSDN博客 2014-12-26 14:12 psujtfc

google hosts 2015.1.4

感谢互联网为所有人提供开放自由的服务,祝愿祖国繁荣富强人民安居乐业... google hosts 2015.1.4 更新,本文只提供google相关服务的hosts,目前有效 注1:请使用chrome浏览器,并在地址栏里输入 chrome://flags/,然后查找QUIC,启用该协议,同时建议启用SPDY/4,能让访问更流畅。 注2:请使用https的方式访问,比如:https://www.google.com 注3:默认可能会跳转到www.google.com.hk,如果.hk访问困难,请...阅读全文

开源中国博客 2015-01-05 15:29 明舞

2015-1-5 临时抱佛脚,突袭学点go

前几次去 ruby china, python china 一样,都是跟朋友去,然后打酱油的。 明明我主力是写C/C++的,唉。 自从来到ty的这一个多月以来,一直都是忙成狗的状态。 新员工想要开速适应,做出成绩,我想这些都是应该付出的。本计划这周四上线功能,在我经过了不间断的攻坚之后,似乎也有了些眉目。于是突然之间,我有了一点时间。我想,每天挤出一点时间来看讲师所讲的相关内容我应该还是可以的。 我想起了上学时候常说的话:平时上课不努力,考试临时抱佛脚。哈哈! 附: 45分钟技术分享1:主讲人:...阅读全文

开源中国博客 2015-01-05 12:20 苗永超

Go开发笔记

开发环境的搭建: 一、下载地址 -- 目前最新是1.4 http://code.google.com/p/go/downloads/list 不建议下载msi版本。 需要翻墙,这里提供最新版本的下载地址: http://download.csdn.net/detail/he90227/8325177 二、配置环境变量 $GOROOT 指向golang安装之后的根目录,E:\go\golang\go。 $GOBIN 指向安装之后根目录下的bin目录,我的是E:\go\golang\go\bin -...阅读全文

CSDN博客 2015-01-04 15:25 he90227

Go语言中反射包的实现原理(The Laws of Reflection)

前言 过去只是知道某些语言带有反射,但是一直没机会使用这种高级功能,所以也没有深入了解过。昨天看golang时里面提到reflection,既然这么多语言支持这个性质,那就深入了解下好了。这篇文档翻译自官方文档的The Laws of Reflection,翻译目的不是为了翻译,而是加深自己记忆以及理解,所以有些地方可能不会直译,因为我没那么高水平,有时自己能看懂,但是按着原话翻译出来给别人听感觉好难。某些专用名词会继续保留原文,有时,其实我觉得还是英文更加容易理解。 The Laws of R...阅读全文

CSDN博客 2015-01-04 13:09 kjfcpua

go 语言学习历程

接触go是2012年的时候,真正开始系统的学习和开发系统是2014年了,go语言的学习也算自己2014年的重要工作之一,对go语言学习的总结,也算是年底总结之一 1.学习go的原因和动机: 1>先前做过2年Unix c开发经验, 对于C系的语言有特殊的感情,go特别适合我胃口,用过后爱不释手; 2>go语言团队太过耀眼和强大:Thompson 图灵奖获得者,unix 和C的共同发明人;Pike PLAN9操作系统的主要开发者、UTF-8发明者;Robert Griesemer 参与java的Ho...阅读全文

CSDN博客 2015-01-04 10:57 hittata

Go! 环境配置和入门

学习一门语言,获得一种思维 开始GO语言的学习之路 环境配置 1. 下载:https://code.google.com/p/go/downloads/list 根据自己情况下载 2. 安装 3. 将go.exe的路径加到环境变量中:在Path前面加上go.exe的路径 4. 打开cmd(本人win7环境) 输入go 提示go的用法表明安装完成 版本 go version 本人是 go1.1 windows/386 入门 1. 写个hello world试试package main import...阅读全文

CSDN博客 2013-05-22 21:53 niwenxian1

Go语言锁的解读

var l sync.Mutex var a string func f() { a = "hello, world" l.Unlock() } func main() { l.Lock() go f() l.Lock() print(a) } sync 包中实现了两个关于锁的数据类型,sync.Mutex 和 sync.RWMutex。[ 互斥锁 mutex 是独占型,只能 lock 一次, unlock 一次,然后才能继续 lock 否则阻塞。 读写互斥锁 reader-writer mut...阅读全文

开源中国博客 2015-01-02 11:24 疯狂的兔子

不用go-(xxoo)agent的也有可能是程序员

记得是去年某个时候,在一个群里问大家是怎么翻(什么)墙的,发现很多人是用go-(xxoo)agent的,而我当时完全没听说过go-agent,因为我已经N多年不翻(什么)墙了,于是,有人就说:“连go-(xxoo)agent都没用过你还是程序员吗?”说实话,我也不希望我是程序员啊!可我真的没用过go-(xxoo)agent啊! 想起我一位前同事,工作很多年了,却从来没用过linux!(也不知道他说的是真的还是假的,至于你信不信,反正我是信了。)他说这是他第一次用linux!(也难怪啊,他在原来的...阅读全文

Golang学习(11)——path filepath包

Golang学习 - path/filepath 包-----------------------filepath 中的函数会根据不同平台做不同的处理,比如路径分隔符、卷名等。 -----------------------路径分隔符转换:const ( Separator = os.PathSeparator // 路径分隔符(分隔路径元素) ListSeparator = os.PathListSeparator // 路径列表分隔符(分隔多个路径))下面两个函数主要用于将 Windows ...阅读全文

51CTO博客 2016-11-25 22:13:08 1160636144

Golang学习(10)——bufio包

Golang学习 - bufio 包------------------------------------------------------------// bufio 包实现了带缓存的 I/O 操作type Reader struct { ... }// NewReaderSize 将 rd 封装成一个带缓存的 bufio.Reader 对象,缓存大小由 size 指定//(如果小于 16 则会被设置为 16)。// 如果 rd 的基类型就是有足够缓存的 bufio.Reader 类型,则...阅读全文

51CTO博客 2016-11-25 21:51:08 1160636144

Golang学习(9)——io ioutil包

Golang学习 - io/ioutil 包--------------------// Discard 是一个 io.Writer 接口,调用它的 Write 方法将不做任何事情并且始终成功返回。var Discard io.Writer = devNull(0)// ReadAll 读取 r 中的所有数据,返回读取的数据和遇到的错误。// 如果读取成功,则 err 返回 nil,而不是 EOF,因为 ReadAll 定义为读取// 所有数据,所以不会把 EOF 当做错误处理。func Rea...阅读全文

51CTO博客 2016-11-25 21:23:28 1160636144

一个新颖简便的golang orm . 容易比较容易上手。

About 一个数据库ORM. How to use? Insert go get github.com/ablegao/orm 例子 //引用模块 import "github.com/ablegao/orm" //mysql 驱动 import _ "github.com/go-sql-driver/mysql" //建立连接 // 参数分别为 名称 , 驱动, 连接字符串 // 注:必须包含一个default 连接, 作为默认连接。 orm.NewDatabase("default" , ...阅读全文

开源中国博客 2015-01-01 01:03 Able

无坑安装使用godep(go语言第三方依赖管理)

安装godep 官方的安装文档是使用go get github.com/tools/godep,很可惜,因为“网络”问题会报一个找不到golang.org/x/tools/go/vcs的错误。 而https://github.com/golang/tools 是 golang.org/x/tools的一个镜像,代码是一样的,所以我是如下安装的。 go get github.com/golang/tools 在GOPATH\src\github.com目录下就有tools文件夹。 在src下和gi...阅读全文

ITEYE博客 2014-12-31 16:42 wiselyman