Go语言中文网 为您找到相关结果 304

我的 Go 语言学习之路

## 个人情况简介 徐新华(polaris),[Go 中文网](https://studygolang.com)站长。目前在北京一家创业公司担任 CTO。2011 年春,北京大学硕士毕业,先后在开心网、奇虎 360 工作。本人一直从事服务端相关工作,有着丰富的经验,对前端也有所掌握,Android 开发也了解些。虽然目前管理方面的事情较多,但一直保持着技术学习。擅长服务端技术和架构。 ## 我与 Go 语言 - 2012 年 3 月,Go1.0 正式发布时,有幸参与 360 的一个 Go 项目(关注过 Gopher China 大会的应该知道 360 有一个消息系统,而且 [Go 官方博客](http://blog.golang.com/qihoo)还专门介绍过,这个项目成...阅读全文

Go语言学习教程,基础-实战-面试视频学习资料

GOlang 4.0最新版本 由兄弟连欧阳桫老师全程录制 课件内容包括:视频课件 、课堂笔记、辅助文档、代码等。 欧阳桫老师的线下课要1万多,学生已经在排名前50的公链拿了3w+月薪。 跟着来没毛病,有需要我也可以发老师微信 获取方式:评论里留下邮箱或者微信,每天晚上我争取把视频发过去 还有兄弟连GO语言的教材4本书的电子版 1.面向未来超级账本 2.GO语言编程与实战 3.公链开发实战 4.以太坊智能合约与APP开...阅读全文

《Golang 入门系列一》安装和IDE介绍

前言:本文主要介绍Golang的安装和Golang的编辑器的使用,以及我们的第一个经典案例:Hello World. 一、为什么是Golang Golang 又称为 Go,是由 Google 开发的一种开源的、编译型的、静态类型的编程语言。它具有以下特性: Go原生支持并发(Concurrency),因此非常适合编写多线程程序。 Golang 是编译型语言。源代码会被编译成可执行的二进制文件。 Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。 二、Golang开发工具包的选择 我们可以根据自己的机器操作系统选择相应的开发工具包,比如你的是Windows 64位的,就选择windows-amd64的工具包;是L...阅读全文

博文 2017-12-10 15:03:07 IT--小哥

GO语言学习: 项目构建 及编译 初步

一个GO工程中主要包含以下三个目录: src:源代码文件 pkg:包文件 bin:相关bin文件 step1: 建立工程文件夹 goproject step2: 在工程文件夹中建立src,pkg,bin文件夹 step3: 在GOPATH中添加projiect路径 例 e:/goproject step4: 如工程中有自己的包examplepackage,那在src文件夹下建立以包名命名的文件夹 例 examplepackage step5;在src文件架下编写主程序代码代码 goproject.go step6;在examplepackage文件夹中编写 examplepackage.go 和 包测试文件 examplepackage_test.go step7; 编译调试包 go bui...阅读全文

博文 2015-06-04 18:00:00 phlong999

《The Way to Go》中文版《Go入门指南》

**《The Way to Go》**经原作者授权今日起以每日一小节的进度开始翻译,中文名**《Go入门指南》**。 本书以开源书籍的形式分享在Github上,提供给有需要的Go语言爱好者。 如果有翻译不当的地方,还望大家能够 **pull request** 以为本书提供更好的翻译质量。 repo地址:[https://github.com/Unknwon/the-way-to-go_ZH_CN][1] [1]: https://github.com/Unknwon/the-way-to-go_ZH_C...阅读全文

还有比这更好的消息吗?— Go支持Android和iOS

minux大神就说了: 代码在 https://bitbucket.org/minux/goios 的 ios3 分支。 初步的文档在 misc/ios/README。交叉编译需要 iOS SDK,得在 OS X 上面开发。理论上如果你能在 Linux 架设交叉编译环境的话,在 Linux 上开发也不是不行。 我计划把这个 port 加入到 Go 1.5。按照 Brad 给出的 1.5 预览, 应该问题不大。http://talks.golang.org/2014/state-of-the-gopher.slide#40 现在的问题是如何架设 builder。 哎,断断续续搞了3年,终于搞定了。我觉得用 Go 开发 iOS 程序比用 Go 开发 Andro...阅读全文

用 golang 1.11 module 做项目版本管理

go 1.11 有了对模块的实验性支持,大部分的子命令都知道如何处理一个模块,比如 run build install get list mod 子命令,第三方工具可能会支持的晚一些。到 go 1.12 会删除对 GOPATH 的支持,go get 命令也会变成只能获取模块,不能像现在这样直接获取一个裸包。 可以用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。 GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。 GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。 GO111MODULE=auto 在...阅读全文

博文 2018-07-30 23:34:50 yesuu

Intellj IDEA 15 搭建golang开发环境(超简单,可Debug,附下载链接)

直奔主题,首先安装Intellj IDEA 15(其它版本也行),可以装免费的社区版,也可以装付费的旗舰版,如果你有钱可以买正版,鉴于还有许多像我一样的穷书生,这里给个旗舰版破解的下载链接:http://pan.baidu.com/s/1o76epDo 密码: 7vjk 博主写这篇文章的时候最新版是15.0.3,但是那个版本暂时无法破解,但是15.0.2可以,下载地址里有破解工具和傻瓜式使用说明,只需三步。 然后开始装golang的插件,插件官网地址是:https://github.com/go-lang-plugin-org/go-lang-idea-plugin 提示:Idea的插件仓库里面本身也有Go,但是版本相对更新很慢,博主写文章的时候Go的版本已更新到1.6,而Idea本身插件仓...阅读全文

博文 2016-03-03 13:00:01 QQ245671051

如何优雅地等待所有的goroutine退出

Table of Contents 1. 通过Channel传递退出信号 2. 使用waitgroup goroutine和channel是Go语言非常棒的特色,它们提供了一种非常轻便易用的并发能力。但是当您的应用进程中有很多goroutine的时候,如何在主流程中等待所有的goroutine 退出呢? 1 通过Channel传递退出信号 Go的一大设计哲学就是:通过Channel共享数据,而不是通过共享内存共享数据。主流程可以通过channel向任何goroutine发送停止信号,就像下面这样: func run(done chan int) { for { select { case <-done: fmt.Println("exiting...") done <- 1 break de...阅读全文

Go 1.6发布 免翻墙下载

Go 1.6 正式版发布 该版本在语言本身层面并没有任何变化,主要改进包括: 1、默认使用 cgo 外部 C 编译器 2、支持 HTTP/2 协议 3、增加对 64 位 MIPS 的体验支持 (Linux) 4、增加对 32 位 x86 上的 Android 的体验支持 5、在 FreeBSD 上 go 1.6 默认使用 clang 而不是 gcc 作为外部 C 编译器 6、在 64 位 PowerPC 上 支持 cgo 7、NaCI 上 GO 1.5 要求 SDK 版本是 pepper-41,而 Go 1.6 可以使用最新的 SDK 版本 8、在 32 位 x86 系统中使用 —dynlink 或者 —shared 编译模式,寄存器 C...阅读全文

go语言怎样开多进程图文讲解。

今天给大家讲解下go语言开多进程。 package main import ( "fmt" "time" ) var c chan int func main() { c = make(chan int) go waiting("coffee", 1) go waiting("tea", 2) fmt.Println("I,am waiting") //time.Sleep(3 * time.Second) <-c <-c } func waiting(w string, sec int) { time.Sleep(time.Duration(sec) * time.Second) fmt.Println(w, "is ready") c <- 1 } 如果进程开的比较多,怎样去避免去写多个...阅读全文

博文 2015-03-23 11:00:06 guoer9973

goalng导出excel(csv格式)

最近项目中有个小需求,需要将查询结果导出到excel。之间前java比较容易,使用POI很容易就能实现,查了下golang的文档,发现golang下边并没有导出excel的包,但是却有一个encoding/csv的包,看了下发现可以导出csv文件,大家都知道csv文件其实就是文本格式的excel文件,可以直接通过excel打开或是导入excel。 看起来挺好的,问题如愿解决,但是事实证明对已一个还不成熟的语言或是库最好还是先测一下的好。兴冲冲的卸了测试例子,成功导出了一个text.csv文件,一切看起来都挺好的,然而打开之后就傻眼了:中文乱码,这个问题其实比较好理解,golang只支持utf-8,而win中文版默认字符集是GB2312(gbk),这样看来直接转码就行了呗。 由于之前吃了亏,这...阅读全文

博文 2014-10-04 19:26:22 good-temper

Go--包引用介绍

最近在学习Go编程,本文简单的叙述如何在Go编程中使用包(包管理)。 和其他大多数语言一样,Go也存在包,并使用package关键字定义一个包。首先介绍在程序中如何引入包,引入包有以下几种方式: 1. 最简单的方式引入一个包的方式是直接引入包,例如: import "fmt" import "os" 2. 也可以通过下面的方式将包一块引入,并写在括号内: inport ( "fmt" "os" ) 通过上面的方式,可以引入系统包或第三方的包,下面重点介绍如何引入自定义的包和函数: 一般我们将主程序放在src的mian文件夹下(主程序中包含main函数,并将主程序的包名写为package main),将其他模块放在相应的文件夹下,例如下图所示 主函数在main.go文件中,主函数名也可以为其他...阅读全文

博文 2015-11-02 03:00:01 sunshiming

ubuntu下安装go语言;sublime+gocode搭建;go的卸载和环境变量配个人.bashrc;2空位3个网

今天第一天入职seven,很开心,同事很不错,shell人也很好 第一天我的任务很轻松,各种安装配置,讲实话linux的qq真是菜,go语言安装很让人纠结,幸好先前在centos下安装过,这种时常会连接国外网的东东,网络总让我无语 这感觉就像一路的芳香我不停琢磨 ok开始安装 1.安装gcc工具,因为golang有些功能是使用c写 sudo apt-get install bison gawk gcc libc6-dev make 2.安装Mercurial(若是用安装包可以忽略这步) 由于Go的源码是通过Mercurial进行管理的, 所以需要先安装Mercurial来实现Go源码的获取,一次执行一下命令: sudo apt-get install python-setuptools su...阅读全文

博文 2015-06-17 20:08:20 u010026901

Golang文件名命名规则

1、平台区分 文件名_平台。 例: file_windows.go, file_unix.go 可选为:windows, unix, posix, plan9, darwin, bsd, linux, freebsd, nacl, netbsd, openbsd, solaris, dragonfly, bsd, notbsd, android,stubs 2、测试单元 文件名_test.go或者 文件名_平台_test.go。 例: path_test.go, path_windows_test.go 3、版本区分(猜测) 文件名_版本号等。 例:trap_windows_1.4.go 4、CPU类型区分, 汇编用的多 文件名_(平台:可选)_CPU类型. 例:vdso_linux_amd...阅读全文

博文 2016-09-22 07:00:01 zyjying520

Mac+Sublime+Golang 环境配置所学

关于环境变量: GOPATH是一个路径列表,类似于PATH的设置: GOPATH=/home/USER/go:/home/USER/workspace_go:***在你建好工作空间后,即可开始配置GOPATH了(配置文件是~/.bash_profile)。export GOPATH=/Users/用户名/go:/Users/用户名/Documents/workspace/workspace_go在mac下设置环境变量: 1,打开 应用程序 -> 实用工具 -> 终端;2,在终端中定位到自己用户的主目录,输入: cd ~ ;3,创建一个空文件,输入:touch .bash_profile ;4,编辑这个文件,输入:open .bash_profile ;5,在这个文件中输入:export PA...阅读全文

博文 2014-10-09 16:00:01 guidovanrossum

gopkg:一种方便的go pakcage管理方式

在使用go的过程中,我们有时候会引入一些第三方库来使用,而通常的方式就是使用go get,可是这样的方式有一个非常严重的问题,假设第三方库更新了相关接口,非常有可能你就无法使用了,所以我们一套非常好地包管理机制。在读生产环境下go语言最佳实践有感一文中,我介绍过soundcloud公司的做法,直接将第三库的代码check下来,放到自己project的vendor文件夹里面,或者使用godep。只是如今,我发现了一种更好的包管理方式gopkg。它通过约定使用带有版本号号的url来让go tool去check指定的版本号库,尽管如今仅仅支持github的go repositories,可是我认为已经足够强大。一个非常easy的样例,我们通过例如以下方式获取go的yaml包go get gopkg...阅读全文

博文 2015-03-30 03:00:01 bhlsheji

自己封装的golang 操作数据库方法

这个是我用Go写的第一个东东,可能还存在些BUG没有测试到。这里主要是提供一个参考。各位可以改写成自己的风格。 在命令行下输入如下两条命令,进行安装 go get github.com/male110/SimpleDb go install github.com/male110/SimpleDb Go语言的数据库操作,只能用Rows.Scan来一次性读取所有列。感觉很不习惯,我还是习惯按照列名来一列列的取数据。所以我自己封装了一个数据结构MyRows,MyRows实现了一个函数,GetValue(name string, value interface{})可以按列名来取数据。如下所示: err = rows.GetValue("IsBoy", &isBoy) if err != nil {...阅读全文

博文 2014-10-04 19:27:14 王岩0001

golang http.handler接口详解

golang http.handler接口详解 1.标准库接口定义 package http type Handler interface { ServeHTTP(w ResponseWriter, r *Request) } func ListenAndServe(address string, h Handler) error ListenAndServe函数需要一个例如“localhost:8000”的服务器地址,和一个处理所有请求的Handler接口实例。它会一直运行,直到这个服务因为一个错误而失败(或者启动失败),它的返回值一定是一个非空的错误。 2.小Demo type dollars float32 func (d dollars) String() string { retu...阅读全文

博文 2016-06-01 17:00:03 secretx

golang日志处理

golang程序日志记录 package main import ( "flag" "fmt" "log" "os" "runtime" ) var ( logFileName = flag.String("log", "cServer.log", "Log file name") ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) flag.Parse() //set logfile Stdout logFile, logErr := os.OpenFile(*logFileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666) if logErr != nil { fmt.Println("Fai...阅读全文

博文 2014-10-04 19:26:52 liaojie

GO -- ORM 框架

这几天在做实训项目,刚好学Go语言,就想使用Go来搭建 socket 服务器 !但是感觉Go 使用sql来注入数据库有点缺陷,最后Golang群上的大神建议使用ORM框架,使用一下确实好用,下面是参照这本的一个简单例子,希望能帮到大家 Code package main import ( "database/sql" "github.com/astaxie/beedb" _ "github.com/ziutek/mymysql/godrv" "time" ) ///////////////////////// type Userinfo struct { Uid int `PK` //如果表的主键不是 id,那么需要加上 pk 注释,显式的说这个字段是主键 Userna...阅读全文

博文 2014-10-10 23:00:00 laohan_

Go在linux下的安装

在Ubuntu、Debian 或者 Linux Mint上安装Go语言 下面是在基于Debian的发行版上使用apt-get来安装Go语言和它的开发工具。 $ sudo apt-get install golang 检查Go语言的版本来验证安装。 $ go version go version go1.2.1 linux/amd64 根据你的需要,你或许想要使用apt-get安装额外的Go工具。 $ sudo apt-cache search golang 在Fedora、CentOS/RHEL中安装Go语言 下面的命令会在基于Red Hat的发行版中安装Go语言和它的工具。 $ sudo yum install golang 检查Go语言的版本来验证安装。 $ go version go ...阅读全文

博文 2016-01-15 03:00:01 oracleloyal

iOS和Android的开发库 Gomobile

Gomobile是一个应用于iOS和Android的优秀跨平台开发库,为开发者提供用于创建Android和iOS 移动平台代码的工具。 ### 环境设置 我们需要Go 1.5及以上版本(版本越高越好)。  然后,我们需要安装Gomobile:

go get golang.org/x/mobile/cmd/gomobile
注:该命令可能需要几分钟的时间。 至于构建Java代码,你则需要Android SDK,并安装Java(OpenJDK就够了)。 [下载](https://developer.android.com/sdk/index.html#...阅读全文

开源项目 2016-03-15 16:00:00 golang

golang arm 交叉编译

set GOOS=linux set GOARCH=arm cd go/src make.bat cd .. cp bin/%GOOS%_%GOARCH% %GOROOT%/bin -r cp pkg/%GOOS%_%GOARCH% %GOROOT%/pkg -r cp pkg/tool/%GOOS%_%GOARCH% %GOROOT%/pkg/tool -r 使用百度手机助手,开启USB调试:点击多次“版本号”,开发者选项->启用USB调试 使用百度手机助手的bdadb.exe shell,进入后su,手机上赋予root权限 cp /sdcard/download/linux_hello /data/ chmod 777 /data/linux_hello (sdcard是fat32格式,...阅读全文

博文 2015-03-17 09:00:01 chuqingq

android初学者必知会的14个实战项目

在android学习中,很多android初学者都苦于不知道怎么找适合自己的开源项目练手,有时候就算找到一些小项目,但也不清楚具体如何下手,这对于迫切需要学习android的童鞋而言确实比较苦恼。今天小编就和大家扒一扒14个非常适合初学者学习、开发的小项目。 1、Openfire+Smack Android 即时通讯应用开发 2、android项目实战-汽车门户APP 3、android项目实战二:android类似大众点评网项目 4、Android蓝牙开发 5、android项目制作-简易版QQ 6、Android Launcher & Widget 7、Android 电话与短信应用 8、Android 定位技术...阅读全文

IntelliJ IDEA 安装go插件

下载goland插件 IDEA的golang插件是开源的,项目托管在github上面,下载最新版本并记录下COMPATIBLE BUILDS(支持的版本号如:171.1834—171.*) image 其中Alpha为每周更新,Nightly为每天更新 下载IDEA 到官网 http://www.jetbrains.com 查看之前相应的版本与记录的COMPATIBLE BUILDS相对应 image 添加go SDK File -> project structure... ->SDKs 添加sdk路径 image 添加Go libraries File -> Settings->Languages & Frameworks->GO->Go libraries 添加Goland安装路径 i...阅读全文

博文 2018-07-09 17:34:55 小小亭长

golang实现改进版的快速排序

初学golang,写个快速排序练练手,无需额外编写partition函数,直接使用一个函数递归实现快排。 gopackage main import "fmt" func quickSort(arr []int, start, end int) { if start < end { i, j := start, end key := arr[(start+end)/2] for i <= j { for arr[i] < key { i++ } for arr[j] > key { j-- } if i <= j { arr[i], arr[j] = arr[j], arr[i] i++ j-- } } if start < j { quickSort(arr, start, j) } if...阅读全文

博文 2015-06-17 20:03:56 lilei_scut

Go 1.7 正式版下载

**只选取了几个比较常用的版本** # Golang 1.7 下载 ## Source File name: **go1.7.src.tar.gz** Link: [DOWNLOAD](https://my.pcloud.com/publink/show?code=XZ1c8BZnHL6MGh8cS71kPubPyipHzY6lDMy) SHA256: **72680c16ba0891fcf2ccf46d0f809e4ecf47bbf889f5d884ccb54c5e9a17e1c0** ## Darwin(amd64/.tar.gz) File name: go1.7.darwin-amd64.tar.gz Link: [DOWNLOAD](...阅读全文

go语言之beego框架orm的使用

models.go ============================ package main import ( "github.com/astaxie/beego/orm" ) type User struct { Id int Name string Profile *Profile `orm:"rel(one)"` // OneToOne relation } type Profile struct { Id int Age int16 User *User `orm:"reverse(one)"` // 设置反向关系(可选) } func init() { // 需要在init中注册定义的model orm.RegisterModel(new(User), new(Profi...阅读全文

博文 2015-06-17 23:05:56 zistxym

go语言使用protobuf与c++做数据通信。

首先,安装google的protobuf。安装流程请参见我以前的博客 http://blog.csdn.net/eclipser1987/article/details/8525383 安装proto的go语言插件 go get code.google.com/p/goprotobuf/{proto,protoc-gen-go} 编写一个简单的事例,go与c++网络通信: RegMessage.proto package cn.vicky.model.seri; message RegMessage { required int32 id = 1; // 主键,唯一 required string username = 2; // 帐号 required string password = ...阅读全文

博文 2014-10-06 09:42:32 eclipser1987

Go开源项目 - gorp使用方法

gorp 是一个Go开源ORM框架. Go关系型数据库持久化 我很含糊的称gorp是一个ORM框架. Go还没有真正的对象, 至少没有一个经典的感觉和Smalltalk/Java一样的,这是"O". gorp不知道任何你struct之间的关系(以后会实现,现在还在TODO list中). 所以"R"也是有质疑的(但是我使用这个名字,因为感觉上更贴切). "M"是没有问题的. 给定一些Go结构和一个数据库, gorp应该可以减少你的重复代码. 我希望gorp能节省你的时间并简化从数据库获取数据的苦活来帮助你把精力投入到算法上而不是基础设施上面. 数据库驱动 gorp使用Go1 database/sql包. 一个完整可用的兼容驱动程序如下: http://code.google.com/p/go...阅读全文

博文 2014-10-09 16:55:55 ztiandan

ubuntu16.10上部署golang1.7.4

因为之前一直在win下开发,所以直接下载安装就解决问题了。最近为了测试项目在ubuntu下运行状况,特别研究了ubuntu的部署方法,把具体步骤和遇到的问题记下,方便以后查阅。 安装方法 1、去golang官方下载最新版的goxx.linux-amd64.tar.gz。这里也可以到http://www.golangtc.com下载,地址是:http://www.golangtc.com/download。 2、下载后将压缩包解压到任意路径,这里以"/etc/go"为例。 3、进入$HOME目录,建立如下目录: $HOME/gosrc 4、在终端,输入命令,建立系统路径: # 打开profile文件 vim .profile # 指定go相关目录 export GOROOT=/etc/go e...阅读全文

博文 2016-12-20 09:00:06 fotomxq

用Go开发WeChat接口的一个小坑

年前公司接入了微信国际版的支付,当时WeChat Wallet本身的接口还没开发完(上几周WeChat Wallet 终于结束灰度全面开放了), 接入时踩了一大堆坑。 除了当时因为给的文档并不全或错误造成的一些困扰外, 另外有个接口问题折磨了好一阵。 当时有这样一个问题,当支付完成时,需要去WeChat支付后台查看支付状态。 但我依文档的JSON格式,加密和序列化后,提交给WeChat查单接口,老提示签名不对。 查询的规则很简单,前面支付的规则也是类似写法也没问题,按理查询不应当出现这种问题的。 后来在前端经验丰富的同事和微信那边开发的支持下才查出,原来问题出在JSON序列化上. Go语言序列化会自动对一些特殊字符会作编码处理,而WeChat后台查询那边接口不会识别, 但WeChat支付那边...阅读全文

博文 2016-02-18 14:00:02 xcltapestry

[译]MongoDB 3.0发布说明

文来自:http://docs.mongodb.org/manual/release-notes/3.0/ 2015年3月3日 MongoDB 3.0现已可供使用。关键新特性包括支持WiredTiger存储引擎,插件化存储引擎API,SCRAM-SHA-1身份验证机制,以及改进的explain功能。 MongoDB运维管理器(MongoDB Ops Manager),包括自动化,备份,监控现在可供使用。查看运维管理器和运维管理器发布说明以获取更多内容。 小版本发布 3.0.1 - 2015年3月17日 修复了WiredTiger中插入和检查点竞争条件导致的记录丢失问题:SERVER-17506 解决了WiredTiger定容集合实现不当导致的服务器崩溃问题:SERVER-17345 解决初始...阅读全文

博文 2015-04-10 03:00:02 yaoxing

用 Go 构建一个区块链 ---- Part 1: 基本原型

翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行代码,也可以 clone GitHub 上的教程仓库,进入 src 目录执行 make 即可。 引言 区块链是 21 世纪最具革命性的技术之一,它仍然处于不断成长的阶段,而且还有很多潜力尚未显现出来。 本质上,区块链只是一个分布式数据库而已。 不过,使它独一无二的是,区块链是一个公开的数据库,而不是一个私人数据库,也就是说,每个使用它的人都有一个完整或部分的副本。 只有经过其他数据库管理员的同意,才能向数据库中添加新的记录。 此外,也正是由于区块链,才使得加密货币和智能合约成为现实。 在本系列文章中,我们将实现一个简化版的区块链,基于...阅读全文

博文 2017-10-19 01:04:44 liuchengxu

Go1.5正式版程序性能分析小积累,实验环境windows64

方法一: 使用:set GODEBUG=gctrace=1 / GODEBUG=gctrace=2 直接运行可执行文件:server.exe 格式:gc # @#s #%: #+...+# ms clock, #+...+# ms cpu, #->#-># MB, # MB goal, # P GC # 表示第几次GC @#s 表示程序开始多长时间执行的GC #% 表示程序开始GC时间占用的百分比(percentage of time spent in GC since program start) #+...+# 表示GC执行时CPU阻塞时间和 #->#-># MB 表示GC开始堆大小,结束堆大小,在活跃堆大小 # MB goal 表示目标对大小 # P 表示程序运行时CPU核数 示例 :...阅读全文

博文 2015-09-25 07:00:00 fyxichen

Go语言的类IPython 交互式编程界面

Bret Victor 的 Inventing on principle 是我看到过的最令人激动和震撼的演示,没有之一。虽然这位前苹果公司的UI大牛早在2012年就作出的这次演示,但他的影响一直没有减弱,编写程序过程中的任何变化,应该直接的产生反馈,让程序猿能够看到结果,或者说创造者需要对自己的创造的东西有实时的反馈。 之前一直在使用Python,非常喜欢IPythonn Notebook,使用IPython Notenook来快速的完成一些原型非常的方便。现在由于项目的需要,要开始使用Go语言,我就在想,有没有可以使用Go的IPython环境呢?知乎上还有一个相关的帖子,可惜上面并没有给出有效的回答。 我做了些小功课,结果并不完美,这里分享给大家。 官方版 Go Playground 开始...阅读全文

博文 2016-10-29 09:00:04 naughty

golang 多个项目时如何配置(使用gb在非GOPATH路径下构建项目)

方案1:将每个项目路径写入GOPATH 写了个脚本SetGoPath.sh #!/bin/bash if [[ $GOPATH =~ .*$PWD.* ]] then echo "currnet dir is already in GOPATH" else export GOPATH=$GOPATH:$PWD echo "fininsh setting $PWD in GOPATH" fi 在项目主目录中运行source SetGoPath.sh 将当期项目路径写入GOPATH 方案2 使用gb替代go来构建项目 这个gb就是一个替代go的build 和 test的工具,可以让项目在任意路径时运行构建 github地址:https://github.com/constabula... 首先要...阅读全文

博文 2017-03-16 10:00:54 kel

go语言版ssh口令破解工具

## 使用说明: ![](/static/upload/201504050545178.jpg) 1. iplist的格式为ip:port,如111.111.111.111:22 2. user.txt为用户名字典 3. password.txt为密码字典 4. github:https://github.com/netxfly/crack_ssh/blob/master/scan_ssh.go ## 源码: ``` package main import ( "bufio" "bytes" "fmt" "github.com/btcsuite/golangcrypto/ssh" "log" "os" "runtime" "strings" "time" ) type HostInfo st...阅读全文

博文 2015-04-10 22:31:30 Netxfly

Go语言实现位图排序(bitmap)

Go语言提供了byte类型,一个byte对应8个位,所以转换一下就可以实现位图了。 代码: package main //author:xcl //date:2014-1-25 import ( "fmt" ) func main() { arrInt32 := [...]uint32{5, 4, 2, 1, 3, 17, 13} var arrMax uint32 = 20 bit := NewBitmap(arrMax) for _, v := range arrInt32 { bit.Set(v) } fmt.Println("排序后:") for i := uint32(0); i < arrMax; i++ { if k := bit.Test(i); k == 1 { fmt.P...阅读全文

博文 2015-06-17 23:01:27 xcltapestry

mongodb 有官方支持的 go 语言驱动了

**链接** [https://github.com/mongodb/mongo-go-driver](https://github.com/mongodb/mongo-go-driver) 目前版本号0.0.4,应该还有不少开发工作,不过最近commit挺频繁的。 刚刚试了一下,常用接口都有了 ```go /* db.go */ package db import ( "context" "github.com/mongodb/mongo-go-driver/mongo" "log" ) type collectionMap struct { Account *mongo.Collection } var DB *mongo.Da...阅读全文

golang 入门指南

golang http://golang.org/ Go语言是由Google开发的一个开源项目,具体语言特征就不细说了,可以查看一下文档。 学习使用了几天,想起了一句广告语: 简约而不简单。 资深程序员 云风对go语言使用的一些体验 http://blog.codingnow.com/2010/11/go_prime.html go 语言翻译项目 http://code.google.com/p/golang-china/ 《学习 go语言》 中文版 http://www.mikespook.com/learning-go/ 《go 编程导读》 http://code.google.com/p/ac-me/downloads/list 当然, 最主要的还是golang 的官方文档 http:...阅读全文

博文 2014-10-04 19:26:10 xsong