![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go配置及开发
文章平均质量分 71
msn217
这个作者很懒,什么都没留下…
展开
-
golang跨平台编译
golang中跨平台交叉编译涉及两个重要的环境变量:GOOS和GOARCH,分别代表Target Host OS和Target Host ARCH,如果没有显式设置这些环境变量,我们通过go env可以看到go编译器眼中这两个环境变量的当前值:go envGOARCH="amd64"GOBIN="/home/work/software/go/bin"GOEXE=""GOHOSTARC原创 2016-12-01 15:47:14 · 7824 阅读 · 1 评论 -
golang中io包用法(二)
本文转自https://github.com/polaris1119/The-Golang-Standard-Library-by-Example/blob/master/chapter01/01.1.md,并在此基础上进行修改.io 包为I/O原语提供了基本的接口。它主要包装了这些原语的已有实现。由于这些接口和原语以不同的实现包装了低级操作,因此除非另行通知,否则客户端不应假转载 2015-01-06 14:33:01 · 8731 阅读 · 0 评论 -
golang中os/user包用法
os/user包允许用户账号通过用户名或者用户id查找用户type UnknownUserErrortype UnknownUserError stringfunc (e UnknownUserError) Error() string //当通过lookup无法查找到某个用户时,便会返回该错误.type UnknownUserIdErrortype U原创 2015-01-09 14:57:24 · 3296 阅读 · 0 评论 -
golang中image包用法
image包实现了一个基本的2D图像库,该包中包含基本的接口叫做image,这个里面包含color,这个将在image/color中描述,image接口的值创建方式有如下几种:1调用NewRGBA和NewPaletted2解码一个包含gif.jpen或者png格式的image数据的io.Reader首先介绍一些image接口type Image //image是一原创 2015-01-16 20:33:03 · 24568 阅读 · 0 评论 -
golang中image/draw包用法
draw包提供了图片的生成方法,或者绘制方法.其使用方法只需导入响应的包即可"import image/draw"func Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op)Draw是DrawMask的一种特殊形式,当DrawMask方法中mask为nil时,便是Draw函数fun原创 2015-01-17 15:23:39 · 9644 阅读 · 0 评论 -
golang中net包用法(三)--TCP和UDP以及Unix domain socket
type TCPAddr //表示TCP终端地址type TCPAddr struct { IP IP Port int Zone string // IPv6寻址范围}func ResolveTCPAddr(net, addr string) (*TCPAddr, error)//将一个地址解析成TCP地址形式,形如"host:port"或原创 2015-01-16 20:30:07 · 11630 阅读 · 0 评论 -
十条有用的 Go 技术
十条有用的 Go 技术这里是我过去几年中编写的大量 Go 代码的经验总结而来的自己的最佳实践。我相信它们具有弹性的。这里的弹性是指:某个应用需要适配一个灵活的环境。你不希望每过 3 到 4 个月就不得不将它们全部重构一遍。添加新的特性应当很容易。许多人参与开发该应用,它应当可以被理解,且维护简单。许多人使用该应用,bug 应该容易被发现并且可以快速的修复。我用了很长的时间学到了这些事情。其转载 2015-03-10 16:25:39 · 2437 阅读 · 2 评论 -
golang中net包用法(一)
net包对于网络I/O提供了便携式接口,包括TCP/IP,UDP,域名解析以及Unix Socket。尽管net包提供了大量访问底层的接口,但是大多数情况下,客户端仅仅只需要最基本的接口,例如Dial,LIsten,Accepte以及分配的conn连接和listener接口。 crypto/tls包使用相同的接口以及类似的Dial和Listen函数。下面对net包进行具体分析。首先介绍其中常量原创 2015-01-16 20:30:43 · 35181 阅读 · 1 评论 -
go中利用hmset替换hset来提高redis的存取效率及并发goroutine可能遇到的问题
go 中直接利用hset向redis存入数据效率较低,当要存入的数据已知时,可以利用hmset 来替换hset进行存储。var args []interface{}{"myhash"}for key,value := range fvs { args = append(args, key, value)}_, err := conn.Do("HMSET", args...)原创 2014-10-08 20:59:31 · 11841 阅读 · 2 评论 -
golang中net包用法(二)--IP
IP地址(Internet Protocol Address,称为互联网协议地址,简写为IP Address),是一种给主机在Internet上进行编址的方式。type IP //IP表示一个简单的IP地址,它是一个byte类型的slice,能够接受4字节(IPV4)或者16字节(IPV6)输入。注意,IP地址是IPv4地址还是IPv6地址是语义上的特性,而不取决于切片的长度:16字节的原创 2015-01-16 20:30:37 · 28095 阅读 · 0 评论 -
golang 中bufio包的用法
本文转自GOlove博客:http://www.cnblogs.com/golove/p/3282667.html转载 2014-10-20 20:54:06 · 7062 阅读 · 0 评论 -
golang中image/gif包用法
gif包实现了gif图片的解码及编码func Decode(r io.Reader) (image.Image, error) //Decode从r中读取一个GIF图像,然后返回的image.Image是第一个嵌入的图。func DecodeConfig(r io.Reader) (image.Config, error) //DecodeConfig不需要解码整原创 2015-01-17 16:20:26 · 5333 阅读 · 0 评论 -
golang中sort包用法
golang中也实现了排序算法的包sort包.sort包中实现了3种基本的排序算法:插入排序.快排和堆排序.和其他语言中一样,这三种方式都是不公开的,他们只在sort包内部使用.所以用户在使用sort包进行排序时无需考虑使用那种排序方式,sort.Interface定义的三个方法:获取数据集合长度的Len()方法、比较两个元素大小的Less()方法和交换两个元素位置的Swap()方法,就可以顺原创 2015-01-02 11:47:43 · 40246 阅读 · 0 评论 -
golang中recover和panic用法
golang中没有try... catch...,所以当golang中遇到panic时,如果不进行recover,便会导致整个程序挂掉,具体例子如下:package mainimport ( "fmt")func main() { panic("fault") fmt.Println("panic")}运行结果:panic: fault goroutine原创 2014-12-16 21:03:25 · 13483 阅读 · 0 评论 -
golang中net/mail包用法
net/mail包实现了解析邮件消息的功能本包大部分都遵守RFC 5322规定的语法,值得注意的区别是:旧格式地址和嵌入远端信息的地址不会被解析组地址不会被解析不支持全部的间隔符(CFWS语法元素),如分属两行的地址函数:func ParseAddressList(list string) ([]*Address, error)//该函数将给定的字符形式表示的地址l原创 2015-01-16 20:31:37 · 4968 阅读 · 1 评论 -
golang中一些基础用法
range类似迭代器操作,返回 (索引, 值) 或 (键, 值)。其可以使用的对象包括string,array/slice,map,channel。其中string,array/slice返回的第一个value都是index,第二个value表示值;map返回第一个元素为key,第二个为value;channel中第一个值为元素的值。举例如下:func main() { str := "原创 2016-05-14 17:50:01 · 1057 阅读 · 0 评论 -
为golang程序使用pprof远程查看httpserver运行堆栈,cpu耗时等信息
pprof是个神马玩意儿?pprof - manual page for pprof (part of gperftools)是gperftools工具的一部分gperftools又是啥?These tools are for use by developers so that they can create more robust applications. Especially转载 2015-11-26 17:05:41 · 4269 阅读 · 0 评论 -
golang中container/ring包用法
ring包实现了环形链表的操作。 type Ring //Ring类型代表环形链表的一个元素,同时也代表链表本身。环形链表没有头尾;指向环形链表任一元素的指针都可以作为整个环形链表看待。Ring零值是具有一个(Value字段为nil的)元素的链表。type Ring struct { Value interface{} // 供调用者使用,本包不会对该值进行操原创 2015-11-11 12:08:20 · 5257 阅读 · 0 评论 -
golang中container/heap包用法
heap包对任意实现了heap接口的类型提供堆操作。(小根)堆是具有“每个节点都是以其为根的子树中最小值”属性的树。树的最小元素在根部,为index 0.heap是常用的实现优先队列的方法。要创建一个优先队列,实现一个具有使用(负的)优先级作为比较的依据的Less方法的Heap接口,如此一来可用Push添加项目而用Pop取出队列最高优先级的项目。type Interface原创 2015-11-11 10:48:21 · 8655 阅读 · 0 评论 -
golang中archive/zip包用法
archive/zip包提供了zip归档文件的读写操作。在对zip包进行介绍之前,先说明一下zip和tar的区别。二者都是对文件进行归档,不进行压缩。并且二者使用平台不同,对于 Windows 平台而言,最常用的格式是 zip 和 rar,国内大多数是用 rar,国外大多数是用 zip。而对于类 Unix 平台而言,常用的格式是 tar 和 tar.gz,zip 比较少一些,rar 则几乎原创 2015-11-10 16:54:29 · 8642 阅读 · 0 评论 -
golang中archive/tar包用法
tar包实现对tar归档文件的访问,旨在覆盖大部分的类型,包括GNU和BSD产生的tars。常量const ( // Types TypeReg = '0' // 普通文件 TypeRegA = '\x00' // 普通文件 TypeLink = '1' // 硬连接 Type原创 2015-11-10 10:27:22 · 6731 阅读 · 0 评论 -
Golang的GC信息
image包实现了一个基本的2D图像库,该包中包含基本的接口叫做image,这个里面包含color,这个将在image/color中描述,image接口的值创建方式有如下几种:1调用NewRGBA和NewPaletted2解码一个包含gif.jpen或者png格式的image数据的io.Reader首先介绍一些image接口type Image //image是一转载 2015-01-16 20:28:07 · 2355 阅读 · 0 评论 -
Go与C语言的互操作
image包实现了一个基本的2D图像库,该包中包含基本的接口叫做image,这个里面包含color,这个将在image/color中描述,image接口的值创建方式有如下几种:1调用NewRGBA和NewPaletted2解码一个包含gif.jpen或者png格式的image数据的io.Reader首先介绍一些image接口type Image //image是一转载 2015-01-16 20:28:37 · 1110 阅读 · 0 评论 -
golang中container/list包中的坑
golang中list包用法可以参看http://blog.csdn.net/chenbaoke/article/details/42780895但是list包中大部分对于e *Element进行操作的元素都可能会导致程序崩溃,其根本原因是e是一个Element类型的指针,当然其也可能为nil,但是golang中list包中函数没有对其进行是否为nil的检查,变默认其非nil进行操作,所以这种原创 2015-01-16 20:13:12 · 4629 阅读 · 0 评论 -
golang中container/list包用法
list是一个双向链表。该结构具有链表的所有功能。type Elementtype Element struct { Value interface{} //在元素中存储的值}func (e *Element) Next() *Element //返回该元素的下一个元素,如果没有下一个元素则返回nilfunc (e *Element) Prev原创 2015-01-16 19:25:07 · 26928 阅读 · 0 评论 -
golang中net/http包用法
http包包含http客户端和服务端的实现,利用Get,Head,Post,以及PostForm实现HTTP或者HTTPS的请求.当客户端使用完response body后必须使用close对其进行关闭.如下所示resp, err := http.Get("http://example.com/")if err != nil { // handle error}defer原创 2015-01-16 20:29:07 · 12896 阅读 · 0 评论 -
golang中并发sync和channel
golang中实现并发非常简单,只需在需要并发的函数前面添加关键字"go",但是如何处理go并发机制中不同goroutine之间的同步与通信,golang 中提供了sync包和channel机制来解决这一问题.sync 包提供了互斥锁这类的基本的同步原语.除 Once 和 WaitGroup 之外的类型大多用于底层库的例程。更高级的同步操作通过信道与通信进行。type Cond原创 2014-12-01 15:19:29 · 4900 阅读 · 4 评论 -
golang中image/jpeg包和image/png包用法
jpeg包实现了jpeg图片的编码和解码func Decode(r io.Reader) (image.Image, error) //Decode读取一个jpeg文件,并将他作为image.Image返回func DecodeConfig(r io.Reader) (image.Config, error) //无需解码整个图像,DecodeConfig变能够返回整个图像的尺寸和原创 2015-01-16 19:24:37 · 20405 阅读 · 0 评论 -
golang 中io包用法(一)
本文转自Golove博客:http://www.cnblogs.com/golove/p/3276678.html转载 2014-10-20 21:02:11 · 4521 阅读 · 0 评论 -
golang中new和make区别
golang 中有两个内存分配机制 :new和make,二者有明显区别.new:用来初始化一个对象,并且返回该对象的首地址.其自身是一个指针.可用于初始化任何类型make:返回一个初始化的实例,返回的是一个实例,而不是指针,其只能用来初始化:slice,map和channel三种类型package mainimport ( "fmt")func main(原创 2014-12-01 17:41:43 · 2830 阅读 · 0 评论 -
go 编程小tips
1,if条件语句注意事项:条件语句不需要使用括号将条件包含起来 () ; 无论语句体内有几条语句,花括号 {} 都是必须存在的; 左花括号 { 必须与 if 或者 else 处于同一行; 在 if 之后,条件语句之前,可以添加变量初始化语句,使用 ; 间隔;2,slice可直接使用append对其进行添加元素如append(slice,slice对应元素),也可直接在slice中添加sli原创 2014-08-28 10:40:56 · 1550 阅读 · 0 评论 -
golang中time包用法
time包中包括两类时间:时间点(某一时刻)和时常(某一段时间)1时间常量(时间格式化)const ( ANSIC = "Mon Jan _2 15:04:05 2006" UnixDate = "Mon Jan _2 15:04:05 MST 2006" RubyDate = "Mon Jan 02 15:04:05 -0700 2原创 2014-11-26 17:47:52 · 64308 阅读 · 1 评论 -
使用go build 进行条件编译
转自:http://studygolang.com/wr?u=http%3a%2f%2fblog.csdn.net%2fvarding%2farticle%2fdetails%2f12675971当我们编写的go代码依赖特定平台或者cpu架构的时候,我们需要给出不同的实现C语言有预处理器,可以通过宏或者#define包含特定平台指定的代码进行编译但是Go没有预处转载 2014-11-27 21:05:12 · 3144 阅读 · 0 评论 -
golang 中regexp包用法
本文转自Golove博客:转载 2014-10-20 21:06:26 · 9678 阅读 · 0 评论 -
Golang学习 - 学习资源列表
本文转自Golove博客:http://www.cnblogs.com/golove/p/3274321.html转载 2014-10-20 21:19:01 · 1366 阅读 · 0 评论 -
golang 中unicode包用法
本文转自Golove博客:http://www.cnblogs.com/golove/p/3273585.html转载 2014-10-20 20:59:49 · 7901 阅读 · 0 评论 -
golang中bytes包用法
本文转自 Golove的博客http://www.cnblogs.com/golove/p/3287729.html转载 2014-10-20 20:56:04 · 9043 阅读 · 0 评论 -
go import用法
import "fmt"最常用的一种形式import "./tes原创 2014-09-25 14:22:09 · 2466 阅读 · 0 评论 -
go语言资料整理
go语言相关资料(xiangdagnquanmihttp://blog.csdn.net/wonderfogo/article/details/7096176转载 2014-08-26 10:16:10 · 1371 阅读 · 0 评论 -
golang 中strconv包用法
本文转自Golove博客:http://www.cnblogs.com/golove/p/3262925.html转载 2014-10-20 21:09:15 · 22496 阅读 · 0 评论