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

GO到底适合干什么?

LZ最近从上家公司java转到go,工作内容还是主要业务逻辑代码,感觉go写起来不是很顺畅(oop思想可能根深蒂固了,语言熟练度也是一个原因),一个Orm框架用起来就特别麻烦。。。个人感觉基于go的特性还是做一些基础的服务器组件会很有优势。。写一般的业务代码简直别扭。。没泛型、if err != nil等等.. 当然好处就是很多东西要自己实现,没有可靠的轮子。。。大家都用GO做什么呢...阅读全文

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

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

Go 语言测试(Test)、性能测试(Benchmark) 学习笔记

简介 Test Package testing provides support for automated testing of Go packages. It is intended to be used in concert with the “go test” command, which automates execution of any function of the form. testing包提供了对Go包的自动测试支持。 这是和go test 命令相呼应的功能, go test 命令会自动执行所以符合格式 func TestXXX(t *testing.T) 的函数。 Benchmark Functions of the form func BenchmarkXxx(b ...阅读全文

博文 2015-12-14 18:00:00 cchd0001

《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--小哥

《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...阅读全文

用 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

Golang 中"泛型"的支持

Golang不支持一般的类似java中的标记式泛型。很多人因此而十分不满,认为没有泛型增加了很多工作量。而目前由于泛型支持的复杂性,Golang的设计和实现者并没有把这个泛型支持作为紧急需要增加的特性。但是,如果真的没有泛型,就一定不行了么?答案当然是否定的。没有泛型也可以,而且我觉得代码更简单,直接,有趣(个人观点,勿喷)。 我们这里打算以一些例子来讲解Golang中如何处理这个问题。 首先,我们看一个冒泡排序的问题。针对整型数组切片的排序。 package main import ( "fmt" ) func bubbleSort(array []int) { for i := 0; i < len(array); i++ { for j := 0; j < len(array)-i-1...阅读全文

博文 2016-08-13 02:00:08 black_OX

Alpha Go 的原理浅析(深度学习与强化学习的融合)

前言 这两天网络上被Alpha Go和李世石的围棋对决刷屏,目前Alpha Go已经2-0领先。从前年开始关注研发这套系统的DeepMind公司,一直在追终他们最新的论文。深度学习这个词随着这一事件又火了一把,可是我想说的是虽然阿尔法狗确实得益于深层神经网络的发展,但是其能超过以往的围棋AI的原因是他将深度学习和强化学习结合在一起使用,再融合传统围棋AI主要使用的蒙特卡洛树搜索方法。要知道只用深度学习的方法去解决围棋问题在几年前已经有很多人在尝试,其效果却往往还不及当前最好的围棋AI(例如:Zen,Pachi等) 去年这家公司做的最引爆世界的事情是在Arcade Learning Environment中战胜了人类专家并且在nature上也发。这个环境是为了评估各种强化学习(Reinforc...阅读全文

博文 2016-03-11 18:00:02 xcwill

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

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

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 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开发windows界面

在 awesome-go 节点下有不少开发界面的库, 大部分是基于web, gtk, qt跨平台的, 也有基于sciter go绑定的go-sciter, 基于原生包装的跨平台的库ui, 只支持Windows桌面端的walk 个人倾向于后2个, 适合个人的技术栈, 试用了下ui这个库, demo比较 少就4个, 运行起来有点卡, 而且生成的可执行文件很大. 最重要的是不支持设置控件坐标(没找到), 而且开放的接口比较少. 下面对比下ui和walk代码, 就拿button控件来说. ui type Button struct { ControlBase b *C.uiButton onClicked func(*Button) } type ControlBase struct { iface...阅读全文

博文 2018-09-14 17:34:43 最近不在

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

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](...阅读全文

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

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

golang rbac框架

在 https://github.com/mikespook/gorbac/tree/v1.0 github上新的版本是开发板,得用这里的老版 demo package main import ( "gopkg.in/mikespook/gorbac.v1" "fmt" ) func main() { permissions := []string{"admin","guest","normal"} rbac := gorbac.New() rbac.Add("rico",permissions[1:],[]string{}) IsGranted := rbac.IsGranted("rico","guest",nil) fmt.Println("grant is ", IsGranted)...阅读全文

博文 2016-02-03 10:00:02 ziyouchutuwenwu

Linux下Go的安装、配置 、升级和卸载

本文同时发布于个人CSDN博客: https://blog.csdn.net/ggq89/article/details/82682171 1. 手动安装 Go 由于大家使用的 Linux 版本不尽相同,也不见得是最新版本或需要版本的 Go 语言包,所以我们说一下如何手动安装指定版本。 1.下载Go发行版 从官方地址:https://golang.org/dl/ 上下载合适的 二进制发行版 (例如: go1.10.4.linux-amd64.tar.gz ): wget https://dl.google.com/go/go1.10.4.linux-amd64.tar.gz 2.提取压缩包 提取压缩包到合适的目录(例如: /usr/local ): sudo tar -xzf go1.10....阅读全文

博文 2018-09-13 13:34:39 AlbertGou

Go 1.5 Beta 3 发布,正式版将于 8 月中旬发布

Go 1.5 Beta 3 发布,Go 1.5 主要改进如下: * 编译器和运行现在完全用 Go 写(带一点汇编)。C 不再参与实施,所以曾经是构建分布必不可缺的 C,如今已经不见了。 * 垃圾收集器现在是 [并发的](https://golang.org/s/go14gc) ,并且通过运行提供显著降低了的暂停时间,可能时候,能和其他的 goroutines 平行。 * 默认 Go 程序使用 GOMAXPROCS 变量来设置CPU核数,之前默认是1 * 对 [internal packages](http://golang.org/s/go14internal) 的支持延伸到所有仓库,不只是 Go 核心库 * go 命令提供体验支持 vendoring 外部依赖 * 全新的 ...阅读全文

带交互的telnet小工具,golang版

package netTools //main // import ( "fmt" "net" "strconv" "strings" "time" ) func smain() { lis, err := net.Listen("tcp", ":1789") if err != nil { fmt.Println(err) } defer lis.Close() for { con, _ := lis.Accept() go handler(con) } } func handler(con net.Conn) { defer con.Close() buf := make([]byte, 20) n, _ := con.Read(buf) fmt.Println(string(buf[:...阅读全文

博文 2016-05-05 19:00:01 fyxichen

GO支持协程。linux系统是抢占式多任务。

那么 操作系统 会把 CPU的释放 的 功能交给 程序么? 我越用越不明白啊。 那个 《GO语言编程》里说 GO的并行机制 还不完善。 不是 本人测试。也没有他的测试数据。 是不是 就是因为 操作系统和 语言本身对于 CPU的抢占 有冲突。。 请版主 polaris 给一点 指点。。非常 感谢。...阅读全文

golang 系统包自动填写插件

Make sure $GOPATH/bin is in your $PATH (Windows: %GOPATH%\bin goes in your %PATH%). 【保证你的golang环境正常】 Run go get -u golang.org/x/tools/cmd/goimports (you may have to install mercurial). 【通过go下载工具】 Install Sublime Text and GoSublime (or make sure you’ve got the latest update if it’s already installed). 【安装了sublime text 和 Gosublime插件】 Open the gosubli...阅读全文

博文 2015-07-23 03:00:00 zhangqingping