-
golang在windows平台使用zmq
所属栏目:[大数据] 日期:2020-12-16 热度:115
zmq官方推荐的golang库,guthub地址是http://github.com/pebbe/zmq4 测试代码就不发了,上面的地址有具体示例, 前几天碰到的问题是在windows 7 64位系统环境下go get github.compebbezmq4的时候无法完成 最开始可能是提示SOCKET未定义, 查看这个包的代码可以[详细]
-
Golang的百科全书--the way to go
所属栏目:[大数据] 日期:2020-12-16 热度:162
比较零乱的学了一段时间的golang,一直觉得条理化的信息太少。 最近看到《the way to go》,才发现这就是我所需要的营养大餐,以后再找一本Go的标准库详解就完美了。 本书居然有中文版@无闻 @unkown,这是真正的活雷锋,他还写了个Git服务器--Gogs,我已经在[详细]
-
golang调用dll
所属栏目:[大数据] 日期:2020-12-16 热度:122
//调用方式 func WindowVersion1() {h,err := syscall.LoadLibrary("kernel32.dll")if err != nil {fmt.Printf("Error: %sn",err)return}defer syscall.FreeLibrary(h)proc,err := syscall.GetProcAddress(h,"GetVersion")if err != nil {fmt.Printf("Error[详细]
-
[Golong]学习笔记(一) 基础知识
所属栏目:[大数据] 日期:2020-12-16 热度:128
Go编程基础 Go的内置关键字(25个) 不多 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continute for import return var Go的注释方法(和js一样) 单行注释: // 多行注释[详细]
-
剖析Go1.3新特性:sync.Pool
所属栏目:[大数据] 日期:2020-12-16 热度:176
Go 1.3 的sync包中加入一个新特性:Pool。官方文档可以看这里http://golang.org/pkg/sync/#Pool 这个类设计的目的是用来保存和复用临时对象,以减少内存分配,降低CG压力。 type Pool func (p *Pool) Get() interface{} func (p *Pool) Put(x interface{}) N[详细]
-
golang 写二叉查找树练习
所属栏目:[大数据] 日期:2020-12-16 热度:110
package mainimport ("fmt")type item struct {key int}type tree struct {lchild,rchild *treeitem itemcount int}func compare(x,y item) int {var ret intswitch {case x.key y.key:ret = 1case x.key == y.key:ret = 0case x.key y.key:ret = -1}return[详细]
-
Ten Useful Techniques in Go
所属栏目:[大数据] 日期:2020-12-16 热度:122
原文地址:http://arslan.io/ten-useful-techniques-in-go Here are my own best practices that I've gathered from my personal experiences with dealing lots of Go code for the past years. I believe they all scale well. With scaling I mean: Your[详细]
-
Go基础知识学习(2) 回调函数
所属栏目:[大数据] 日期:2020-12-16 热度:178
##回调函数的定义 回调函数,一个通过函数指针调用的函数,本质上还是函数,由于它的应用场景而出现回调函数这个名词。它非常重要,在一些优秀的C库中经常见到,它不是由函数的实现方实现(但是由实现方定义,通常在头文件定义),而由调用方实现,这样便于问[详细]
-
Go基础知识学习(3)闭包
所属栏目:[大数据] 日期:2020-12-16 热度:89
##闭包本质是函数+引用环境,外形是一个匿名函数。 闭包类似一个函数工厂,绑定不同的引用环境,生成不同的函数。 我们还是以回调函数中的例子来说明,不过我们换成闭包来实现“抽象” 将一个数组中偶数的值相加后的结果输出,将一个数组中奇数的值相加后的结[详细]
-
Go基础知识学习(4)包
所属栏目:[大数据] 日期:2020-12-16 热度:199
包(package)是函数和数据的集合,类似android的jar或者C中的库, 我们创建一个包含冒泡排序算法的包 │ exp6.go └─algorithms bubble.go 其中 exp6.go 是测试包的程序,algorithms/bubble.go 是包程序 exp6.go 代码如下: package mainimport ("fmt""githu[详细]
-
Go基础知识学习(5) 指针,new, make
所属栏目:[大数据] 日期:2020-12-16 热度:62
##指针,new,make的使用场景 Golang的指针是没有++和--操作的,*运算和运算和C一致 Golang的new创建是返回的是指针,var返回的0值变量 Golang结构体的初始化,结构体变量的复合初始化,结构体指针的成员初始化 Golang make仅仅可以创建slice map channel 而[详细]
-
golang--- 32位系统下atomic.AddUint64导致程序崩溃及解决办法
所属栏目:[大数据] 日期:2020-12-16 热度:93
http://www.baidu.com/link?url=qb02vICS8NhIztRZ1n7wWHiJ6bDGFeIKQQQfr0w0BShbImeG_EuBkDGEiGzYUF44vQUB6lk_6z11UVP4fcDtonzmlvY0LM6fy-t-Yu6bDIa 发表于1小时前(2014-02-12 10:44) 阅读(7)|评论( 0) 0 人收藏此文章, 赞0 packagemainimport("sync/atom[详细]
-
Golang的坑之http读取大文件必须读完
所属栏目:[大数据] 日期:2020-12-16 热度:198
先上代码 package main import ( "fmt" "net/http" ) func main () { resp , err := http . Get ( "http://mirrors.ustc.edu.cn/opensuse/distribution/12.3/iso/openSUSE-12.3-GNOME-Live-i686.iso" ) if err != nil { panic ( err ) } fmt . Println ( "Re[详细]
-
Go基础知识学习(6) 接口
所属栏目:[大数据] 日期:2020-12-16 热度:143
Golang接口定义使用interface来声明,它相对于其他语言最大的特定就是接口定义和实现的关联性仅仅依赖接口的名字和声明,无需显式声明。 接口定义和实现 在下面这个例子中,定义了两个自定义类型city country 和接口类型IName city、country分别实现了接口IN[详细]
-
Go基础知识学习(7) 并发
所属栏目:[大数据] 日期:2020-12-16 热度:84
#Golang并发 Golang原生支持并发。并发的最小单位是goroutine,相互之间的通信采用channel. 这里不涉及锁等复杂的内容,先简单的弄个例子了解一下Golang并发实现的简洁。 #例子,实现slice的求和 具体步骤:创建两个goroutine 一个对slice的前一半数据求和,[详细]
-
golang 基于go-sql-driver的增删改查的简单封装
所属栏目:[大数据] 日期:2020-12-16 热度:121
建一个简单的test表 CREATE TABLE `test` ( `a` int(11) NOT NULL AUTO_INCREMENT,`b` int(11) DEFAULT NULL,PRIMARY KEY (`a`)) ENGINE=InnoDB AUTO_INCREMENT=157 package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql")func main()[详细]
-
Golang中的字节序列化操作
所属栏目:[大数据] 日期:2020-12-16 热度:66
在写网络程序的时候,我们经常需要将结构体或者整数等数据类型序列化成二进制的buffer串。或者从一个buffer中解析出来一个结构体出来,最典型的就是在协议的header部分表征head length 或者body length在拼包和拆包的过程中,需要按照规定的整数类型进行解析[详细]
-
go install 的工作方式
所属栏目:[大数据] 日期:2020-12-16 热度:54
go install 是Go语言提供的非常方便的编译工具。但是最近在项目使用过程中遇到一些问题,在这里记录一下。 问题 通常情况下,修改了代码之后使用go install编译,运行,都能得到正确的结果。 但是有时候发现, 修改了源代码,却没有被重新编译 ,于是导致许[详细]
-
golang 采集图片
所属栏目:[大数据] 日期:2020-12-16 热度:89
帮朋友忙去采集的,看他打开韩国网站 一个一个点开去保存看不下去了速度太慢了,原本想用PHP写的,刚好看了无闻大大的go采集,然后无耻的改了下就用了 , package main import ( "fmt" "io" "io/ioutil" "log" "net/http" "os" "path" "regexp" "strings" )[详细]
-
golang json处理struct未导出成员
所属栏目:[大数据] 日期:2020-12-16 热度:163
我们用golang的json来marshal一个结构体的时候,结构体的未导出的成员将无法被json访问,也就是不会出现json编码的结果里(也就是小写的成员没法导出) 这个是由于技术的上问题引起的:golang的结构体里的成员的名字如果以小写字母开头,那么其他的包是无法[详细]
-
ledisdb作为嵌入式存储引擎入门例程
所属栏目:[大数据] 日期:2020-12-16 热度:113
#ledis包使用 基于 ubuntu 14.04 ###安装依赖包 sudo apt-get install build-essential automake libtool pkg-config ###下载go项目 go get github.com/siddontang/ledisdb go get github.com/siddontang/goleveldb go get github.com/siddontang/go-log/log[详细]
-
关于golang的debug
所属栏目:[大数据] 日期:2020-12-16 热度:83
Debuggers Application programming needs good debugging support,and in this area still a lot of work needs to be done. A debugger (Oogle): support for gdb (at least version 7 is needed),the GNU debugger is being built in Go’s gc linker (6l[详细]
-
golang基础知识
所属栏目:[大数据] 日期:2020-12-16 热度:128
keywords[详细]
-
自定义堆栈Stack
所属栏目:[大数据] 日期:2020-12-16 热度:177
学习GO中自定义类型的定义,接口和方法的写法 测试用例: https://github.com/panyingyun/gostudy/blob/master/testStack.go package mainimport ("fmt""github.com/panyingyun/gostudy/stacker")func main() {a := stacker.NewStack(2)a.Push("Google")a.Pu[详细]
-
golang Socket编程
所属栏目:[大数据] 日期:2020-12-16 热度:126
Socket基础知识 通过上面的介绍我们知道Socket有两种:TCP Socket和UDP Socket,TCP和UDP 通过上面的介绍我们知道Socket有两种:TCP Socket和UDP Socket,TCP和UDP是协议,而要确定一个进程的需要三元组,需要IP地址和端口。 IPv4地址 目前的全球因特网所采[详细]
