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

Golang官方依赖管理工具:dep

在这里声明一下,百度或者google看到的godep不是我这篇博文说的dep,那它们是什么关系呢?按照Peter Bourgon博文来说,它们的作者都有相同的人,但是一个是dep是官方版本,godep是第三方工具。 我今天介绍的是dep,之前也有介绍过glide,有兴趣的可以到Golang依赖管理工具:glide从入门到精通使用看看。 现在还有一个疑问是为什么官方现在要支持依赖管理了呢?我个人认为有如下原因(勿喷,如果不同或者遗漏欢迎留言补充): 第三方依赖管理很多,虽然很好用,但是很少可以兼容的,结果--乱; 官方的包管理为了增加社区的凝聚力,保持Go开箱即用的简单特性,不需要大家再安装各种第三方工具了,而且第三方工具都会过来兼容官方版的; 还有一个官话,为了go更好的发展; dep的FA...阅读全文

博文 2017-08-09 02:20:34 梦朝思夕

Mac OS X 安装Golang

1.确保Mac OS X 安装了Git,Hg,在Mac OS X 10.8+下面安装Xcode CommandLine Tools就可以了,10.9以上安装Xcode就包含了Git工具,hg请安装SourceTree,这个Git GUI工具包含了Mercurial工具 2.下载安装go1.3.1.darwin-amd64-osx10.8.pkg 3.安装Sublime Text,一次安装插件,GoSublime,配置GoSublime-Settings-User文件,切记不要改动任何Default文件,例如:GoSublime-Setting-User写入 { "env": { "GOPATH": "$HOME/Documents/GoPATH/", "GOROOT": "/usr/loca...阅读全文

博文 2014-12-04 11:00:01 Vanson

在Visual Studio Code中配置GO开发环境

一、GO语言安装 详情查看:GO语言下载、安装、配置 二、GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: 代码着彩色 代码自动完成(使用gocode) 代码片段 快速提示信息(使用godef) 跳转到定义(使用godef) 搜索参考引用(使用go-find-references) 文件大纲(使用go-outline) 重命名(使用gorename) 保存构建(使用go build和go test) 代码格式化(使用goreturns或goimports或gofmt) 调试代码(使用delve) 三、插件安装 3.1 Visual...阅读全文

Go语言获取外网和本地IP

package main import ( "flag" "fmt" "io" "net" "net/http" "os" ) var get_ip = flag.String("get_ip", "", "external|internal") func main() { fmt.Println("Usage of ./getmyip --get_ip=(external|internal)") flag.Parse() if *get_ip == "external" { get_external() } if *get_ip == "internal" { get_internal() } } func get_external() { resp, err := http.Get("h...阅读全文

博文 2015-07-13 18:00:00 冷絮

golang实现http的get和post

golang要请求远程网页,可以使用net/http包中的client提供的方法实现。查看了官方网站有一些示例,没有太全面的例子,于是自己整理了一下。 get请求 get请求可以直接http.Get方法,非常简单。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 func httpGet() { resp, err := http.Get("http://www.01happy.com/demo/accept.php?id=1") if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle ...阅读全文

博文 2016-11-17 02:00:03 徐学良

Go语言 GC优化经验分享

不想看长篇大论的,这里先给个结论,go的gc还不完善但也不算不靠谱,关键看怎么用,尽量不要创建大量对象,也尽量不要频繁创建对象,这个道理其实在所有带gc的编程语言也都通用。 想知道如何提前预防和解决问题的,请耐心看下去。 我们项目的服务端完全用Go语言开发的,游戏数据都放在内存中由go 管理。 在上线测试后我对程序做了很多调优工作,最初是稳定性优先,所以先解决的是内存泄漏问题,主要靠memprof来定位问题,接着是进一步提高性能,主要靠cpuprof和自己做的一些统计信息来定位问题。 调优性能的过程中我从cpuprof的结果发现发现gc的scanblock调用占用的cpu竟然有40%多,于是我开始搞各种对象重用和尽量避免不必要的对象创建,效果显著,CPU占用降到了10%多。 但我还是挺不甘心...阅读全文

博文 2014-10-11 18:00:01 abv123456789

分享一个Golang 学习站点:Go by Example,示例,源码,注释

分享一个Golang 学习站点:Go by Example,示例,源码,注释 很不错的一个网站和工具。主要内容包括: 1、为 Golang 各个知识点而写的小程序(放在 play.golang.org ); 2、适当的注释; 3、整站开源,从github clone 后,读者可利用内建的工具生成本地静态文件,甚至可以生成一个网站。 网址:https://gobyexample.com/ 源码:https://github.com/mmcgrana/gobyexample 知识点目录 Hello World Values Variables Constants For If/Else Switch Arrays ...阅读全文

在go环境中架设protobuf

由于外网经常被封,把go版本的protobuf下载到本地,基本上是protobuf-master.zip这个形式。go版本的protobuf的下载地址为https://github.com/golang/protobuf将这个protobuf-master.zip加压后,改名为protobuf目录,并且在当前go工程的src目录下,新建一个子目录 github.com ,然后进入,再新建一个子目录golang然后把刚才改名为protobuf的目录,全部拷贝到刚才的golang文件夹里面 ok!在linux平台下,进入此protobuf文件夹,make 就OK了,会生成protoc可执行文件在gobin文件里里面,并且生成相关的.a文件在当前go工程的pkg文件夹里。在windows平台下,我...阅读全文

博文 2015-03-17 23:00:01 lyf445207638

Golang在视频直播平台的高性能实践

http://toutiao.com/i6256894054273909249/ 熊猫 TV 是一家视频直播平台,先介绍下我们系统运行的环境,下面这 6 大服务只是我们几十个服务中的一部分,由于并发量与重要性比较高,所以成为 golang 小试牛刀的首批高性能高并发服务。Golang在视频直播平台的高性能实践(含PPT下载)把大服务拆细, 然后服务化独立部署,更容易简化部署,也容易单点细节优化与升级。多数服务的能力是通用的,如平滑重启、多机房部署等。Golang在视频直播平台的高性能实践(含PPT下载)关于在线服务,如果 1000 万用户在线,即使每 30 秒一次在线 http 发送打点,那么也有每秒 30 万+的接口 qps。Golang 提供的 http server 性能非常好,一个普...阅读全文

博文 2016-03-03 03:00:00 jukan

Golang在视频直播平台的高性能实践(含PPT下载)

编者按:本文是杨武明在 2 月 27 日在 Gopher 北京聚会演讲基础上整理而成。转载请注明来自高可用架构公众号「ArchNotes」。杨武明,熊猫 TV 首席架构师,曾担任奇虎 360 PC 网游技术架构负责人,前新浪微博平台资深后端开发、技术专家。对大型互联网架构有丰富的实践经验,擅长后端基础服务与组件开发,尤其高性能、高并发、大数据业务场景。熊猫 TV 是一家视频直播平台,先介绍下我们系统运行的环境,下面这 6 大服务只是我们几十个服务中的一部分,由于并发量与重要性比较高,所以成为 golang 小试牛刀的首批高性能高并发服务。把大服务拆细, 然后服务化独立部署,更容易简化部署,也容易单点细节优化与升级。多数服务的能力是通用的,如平滑重启、多机房部署等。关于在线服务,如果 1000...阅读全文

博文 2016-10-20 20:00:01 u012798391

golang官方学习文档

最近发现好多学习golang的同学不知道怎么开始学习,其实直接去官方看例子就OK,官方讲解的非常详细 官方中文在线文档 https://tour.go-zh.org/welcome/1 支持语言列表见 https://tour.golang.org/welcome/2 $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().ap...阅读全文

博文 2016-09-17 11:00:01 hai046

内网穿透工具的原理与开发实战

-- 前言 -- 在我国,由于网民众多,运营商无法保证为每一个宽带用户提供全球唯一的公网IPv4地址。因此很多用户会发现通过路由器端查看到的WAN端IP与百度“IP”关键词所得到的IP不一致,并且前者的IP为一个私有IP。 而还有一些情况下,公网IP比较昂贵,企业虽然本身也持有少量的独立的公网IP,但是由于成本限制无法为企业内每一台主机都提供一个公网IP,或者内网并不是所有服务都需要暴露到公网中进行访问,那么企业有可能就会使用NAT技术将大量的内网IP通过一定规则映射到公网IP上。而最常见的其中一种技术就是NAPT,也叫“网络端口地址转换”。因为一般一个服务都是通过一个端口来提供,因此通过这种方式可以将特定的服务通过特定的规则开放到少量的公网IP上。 -- 问题 -- 但是有的时候我们个人宽...阅读全文

博文 2017-10-26 12:32:16 昌维

Debian 系统 开发 GO 语言

官方网站地址是 : http://golang.org/ 中文 翻译 项目: http://code.google.com/p/golang-china/ eclipse 插件地址: http://code.google.com/p/goclipse/ 更新 的url 地址: http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/ 首先是安装go的环境 可以看安装文档: http://code.google.com/p/golang-china/wiki/Install 需要下载 hg 工具 debian 使用 安装编译环境: apt-get install python-setuptools python-dev bui...阅读全文

博文 2014-11-14 10:00:02 xoxoxo

打包前端WebSite到Go程序

Coolpy5发布在即,新版本要求服务端程序只是一个运行文件,经历了go的template无数坑后,最后还是放弃了,所以还是要把前端独立开发一个纯前端程序,但是go程序直接build的话并不支持把前端程序编译到最终生成的文件中,所以须要一种方法把前端程序打包进最终生成的运行文件中。 所用到的包 github.com/GeertJohan/go.rice 下载或编译后会得到一个rice.exe(window平台),linux平台请自行下载包并编译。 配置go env 把go 环境变量都配置好,本例中文件工程路径为:E:\Coolpy5Sub\Coolpy5Sub\bin E:\Coolpy5Sub\Coolpy5Sub\bin>go env set GOARCH=amd64 set GOBIN...阅读全文

博文 2016-07-27 15:00:02 jacle169

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 websocket总结(问题贴)

因为工作的需要,接触了websocket,开始的一些很简单的代码,都不知道该怎样运行起来,所以,总是有一层神秘感,却没有太多的兴趣去研究它。不过,还是免不了要了解一些才不至于对于后续的工作有影响。从塌下心来学习,到最后完成编码测试,不超过一周,遇到了很多问题,万幸,通过自己的思考和师傅们帮忙都解决了。 关于go与websocket编程,github上有很多开源的源码,比如https://github.com/garyburd/go-websocket。我发现,现在网上流传的关于go 的websocket编程基本上都是差不多的类型,当然,websocket也不过如此而已啦。再说说,对如此简单的问题,我碰到的那些麻烦事吧。 1.当服务器启动起来之后,再怎么运行?因为刚开始对websocket的认...阅读全文

博文 2015-06-17 20:17:43 lxy15329

非官方知乎 API 库:zhihu-go

[zhihu-go](https://github.com/DeanThompson/zhihu-go) 是个用于获取知乎数据(用户、问题、回答、收藏、话题等)的 **非官方** API 库,严重参考了两个 Python 版本的实现:[zhihu-python](https://github.com/egrcc/zhihu-python) 和 [zhihu-py3](https://github.com/7sDream/zhihu-py3/). 欢迎大家参考使用,并反馈问题,共同改进。欢迎提交 issue 和 pull request...阅读全文

Go On Android

文地址:Go, on Android作者:橙子InfinityGo 语言的高效一直让我想将之用于 Android 的开发上,很多事情,单纯从代码角度考虑,用 Go 来写会方便很多。这篇文章只是一个实例,没啥实质性的意思,只是开发时的一些记录。 我不想说如何获得 Go 的源码或是如何编译之,那些在网上到处可找,推荐直接参考 Go 语言官方网站(http://golang.org/),里面许多有价值的东西。 同样的参考官方网站所述,我们可以将 Go 环境编译为支持 arm 的,使用该环境编译出的程序,也可运行于 Android。 那么先编译 Go 本身,让它可以编译 arm 下的应用,修改一下 .bashrc 文件 在最后加上以下条目 PATH 取决于你的 Go 源码下载到哪里,不一定和我是一样...阅读全文

博文 2015-04-23 17:00:16 yangying19911113

Mac 必备神器之 Go2Shell 以及使用技巧

Go2Shell 一个可以快速在当前目录打开Shell的工具,小巧,非常好用! 但是它默认打开是 系统的iterm ,而我希望它打开 iTerm2 !~ 设置默认iterm 而Go2Shell默认没有设置界面,需要用命令行打开(隐藏得真深啊!)在Shell中输入: open -a Go2Shell --args config 会打开设置界面 设置界面 选择iTerm2 ,保存并退出即可!~ 配合其他利器使用 Go2Shell还可以配合其他软件进一步提升效率,让你爽翻!~ 配合Alfred 使用Alfred快捷打开,我这里输入2就可以快速打开 效果图 配合Finder 打开Finder,按住command键,拖动Go2Shell的图标到Finder菜单就可以在Finder快捷打开Go2Shel...阅读全文

golang操作Redis(redigo基础篇)

现在的redis大红大紫,而且很多应用场景都适合使用Reids来做缓存或者直接做存储,典型的如mysql前端缓存、手游里面的排行榜等。那么我们怎样用golang来操作redis呢?熟悉redis的同学,肯定第一反应就是按照redis的协议,实现一个客户端与redis服务进行通信即可。不熟悉redis的同学,可能会说用cgo封装下官方的c客户端,妥妥的。是的,这两种方法都可以。既然redis这么火,那么这些工作有没有人做呢?答案是肯定的。在redis的官方网站的客户端列表里就有众多golang的客户端。这个时候,可能你又要犯难了,我该用哪一个呢?熟悉reids的同学都知道,官网加星星的客户端都是好客户端,就像棒子天上的星星一样神奇。可是坑爹的时,golang不同于python有两个都是加星星的...阅读全文

博文 2017-02-09 17:22:52 gotaly

请教一个golang如何通过代理服务器验证问题

最近在做一个简单测试,在公司内网实现抓取外网一个网页,但是因为公司是通一个代理服务器出去的,所以需要先通过代理服务器验证。找了好久的资料实在没找到,我用c#可以实现。主要是不知道golang下面怎么实现代理服务器的验证,代码是在网上一个关键代码如下: func fetch(url, proxy_addr *string) (html string) { transport := getTransportFieldURL(proxy_addr) client := &http.Client{Transport: transport} req, err := http.NewRequest("GET", *url, nil) ****req.SetBasicAut...阅读全文

从零搭建基于golang的个人博客网站

[原文链接](http://www.bugclosed.com/post/14) : http://www.bugclosed.com/post/14 从零搭建个人博客网站需要包括云服务器(虚拟主机),域名,程序环境,博客程序等方面。[本博客](www.bugclosed.com) 就是通过这几个环节建立起来的,下面总结梳理一下环节的具体过程。 ## 云服务器 博客程序需要有一个服务器部署和运行,所以首先需要选购一个云服务器。阿里云是国内最大的云厂商,简单起见直接选购阿里云的入门级ECS(1核,1G内存,1M固定带宽,20G SSD磁盘)。初始化主机选择centos7.2系统,可同时在后台初始化的时候设置好root初始密码。 需要注意的是,该级别的ECS是属于弹性网络,即公网IP和ECS是分...阅读全文

博文 2018-05-24 16:14:22 pert

本网站新设计两套Logo,您更喜欢哪套?

这几天请人帮忙设计了两套Logo,一套体现 “学习+眼镜”,一套体现“速度”,您觉得哪套更好。欢迎大家给出建议,谢谢! ##学习+眼镜## ![glasses.jpg](http://studygolang.qiniudn.com/160414/dee701bd007bb2d0acc6ace40b1a5786.jpg) ##速度## ![speed.jpg](http://studygolang.qiniudn.com/160414/f40d779788c9c8147fcc9b4898ba4497.jpg...阅读全文

Java调用Golang生成的动态库(dll,so)

0x01. 环境准备 A. GCC 在控制台中输入 gcc -v 如果提示命令未找到,那么说明你的计算机中还没有gcc,去安装一个吧,gcc官方网站:https://gcc.gnu.org/ 如果从来没有安装过gcc的朋友可以直接安装win-build,可以帮你快速的安装 官方网站:http://mingw-w64.org/doku.php/download/win-builds 0x02. 编写go程序 我们这里只是编写一个简单的输出字符串的程序,接受一个字符串参数,然后将拼接成新的字符串并作为返回值返回,在这里,我们将文件命名为libhello.go package main import "C" func helloLemonITCN(msg string) string { retu...阅读全文

博文 2018-07-13 18:34:48 柠檬信息技术有限公司

SublimeText, Eclipse, Liteide--Golang开发环境搭建(Windows版)

Go SDK 安装 访问golang的官方网站,http://golang.org, 点击Download Go按钮或者直接访问, http://golang.org/dl, 进入下载页面 下载msi安装版,或者源码版即可(须通过源码安装),建议使用安装版,直接快意Go的江湖。 安装时,可使用默认的路径,最后会生成在c:/go目录下,同时在系统环境变量中已然添加好c:/go/bin。 在cmd中输入go,现实如图,说明已经安装成功。 配置Gopath 并把%GOPATH%添加到环境变量中 多平台详细安装可参考:https://golang.org/doc/install 搭建IDE开发环境 Sublime Text 1.在官方网站上下载sublime text(版本可自选), http://...阅读全文

博文 2015-09-04 15:00:00 scherrer

Go 的垃圾回收机制在实践中有哪些需要注意的地方?

来源:http://www.zhihu.com/question/21615032不想看长篇大论的,这里先给个结论,go的gc还不完善但也不算不靠谱,关键看怎么用,尽量不要创建大量对象,也尽量不要频繁创建对象,这个道理其实在所有带gc的编程语言也都通用。想知道如何提前预防和解决问题的,请耐心看下去。先介绍下我的情况,我们团队的项目《仙侠道》在7月15号第一次接受玩家测试,这个项目的服务端完全用Go语言开发的,游戏数据都放在内存中由go 管理。在上线测试后我对程序做了很多调优工作,最初是稳定性优先,所以先解决的是内存泄漏问题,主要靠memprof来定位问题,接着是进一步提高性能,主要靠cpuprof和自己做的一些统计信息来定位问题。调优性能的过程中我从cpuprof的结果发现发现gc的scan...阅读全文

博文 2014-10-11 23:00:04 heiyeshuwu

beego 出现[router.go:656][E] gob: name not registered for interface: "deploy/models/class.Users"

这个问题我在beego官方找不到。本身学Go语言不久。 代码如下 ```go package models import ( "time" "github.com/astaxie/beego/orm" "crypto/md5" "encoding/hex" ) type Users struct { Id int `orm:"pk"` Username string Realname string Createdate time.Time `orm:"auto_now_add:type(datetime)"` Modifydate time.Time `orm:"auto_now_add:type(datetime)"` Pa...阅读全文

golang使用protobuf

安装protobuf编译工具 下载最新版 https://github.com/golang/protobuf 官方网站 https://developers.google.com/protocol-buffers/docs/proto3 解压后 执行 ./autogen.sh 如碰到没有支持的程序,安装之 ./configure make make install 安装golang支持库 下载 https://github.com/golang/protobuf 在项目src目录中建目录 github.com/golang/protobuf/将下载的protobuf全部copy到此目录 cd到此目录执行 make 将编译出protoc-gen-go可执行程序,此程序提供给protobuf编...阅读全文

博文 2016-02-20 16:00:01 wolgame

# Golang中string、int、int64互相转换

Golang中string、int、int64互相转换 使用官方的strconv包即可: #string到int int,err:=strconv.Atoi(string) #string到int64 int64, err := strconv.ParseInt(string, 10, 64) #int到string string:=strconv.Itoa(int) #int64到string string:=strconv.FormatInt(int64,10) ``` 同类型之间转换,比如int64到int,直接int(int64)即可...阅读全文

博文 2019-01-20 18:34:43 w85278161

Go程序GC优化经验分享

作者:达达来源:http://1234n.com/?post/yzsrwa最近一段时间对《仙侠道》的服务端进行了一系列针对GC的调优,这里跟各位分享一下调优的经验。游戏第一次上线的时候,大部分精力都投入在做cpuprof和memprof找性能瓶颈和内存泄漏上,没有关注过Go的GC运行情况。有一次cpuprof里的scanblock调用所占的比例让我注意到Go的GC所带来的性能消耗,记得那份cpuprof里,scanblock调用占到49%。也就是说有一半的CPU时间浪费在了GC上。于是我开始研究如何进行优化,过程中免不了要分析数据,经过一番搜索,我好到了GOGCTRACE这个环境变量。用法类似这样:GOGCTRACE=1 ./my_go_program 2> log_file 通过这个环境变...阅读全文

博文 2014-10-10 11:00:00 heiyeshuwu

Wide 新特性 —— Playground

Wide 发布了一个新特性——Playground:[https://wide.b3log.org/playground](https://wide.b3log.org/playground) * 类似 golang 官方的 [http://play.golang.org](http://play.golang.org) * 有语法高亮、自动完成 * 通过 WebSocket 实时运行输出 * 能够非常方便的通过 iframe 嵌入到其他网站中