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

Go语言圣经中文版

在C语言发明之后约5年的时间之后(1978年),Brian W. Kernighan和Dennis M. Ritchie合作编写出版了C语言方面的经典教材《The C Programming Language》,该书被誉为C语言程序员的圣经,作者也被大家亲切地称为K&R。 同样在Go语言正式发布(2009年)约5年之后(2014年开始写作,2015年出版),由Go语言核心团队成员Alan A. A. Donovan和K&R中的Brian W. Kernighan合作编写了Go语言方面的经典教材《The Go Programming Language》。Go语言被誉为21世纪的C语言,如果说K&R所著的是圣经的旧约,那么D&K所著的必将成为圣经的新约。 镜像: http://books.stu...阅读全文

博文 2016-03-29 07:00:05 smallmaple

ubuntu下最新版golang安装教程

相信打算安装golang的同学们早已看了很多安装教程了,网上的主流方法有两种,一种是 sudo apt-get install golang-go 简单暴力,但是由于现在很多golang的库已经要求 >1.1 ,而 apt-get 安装的是 1.02 ,也建议大家安装最新版的golang,因此推荐手动安装,教程本身没有问题,但是由于某些特殊原因,可能导致安装失败甚至卡在莫名奇妙的地方。在卡了一个中午后,我还是写下这篇文章总结下要注意的地方。 以ubuntu wiki的 安装教程 为例: 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的 $ sudo apt-get insta...阅读全文

博文 2014-10-06 07:32:32 stonxer

liteIDE 快捷键改装

LiteIDE改装 最近一直都在使用liteIDE做开发。公司的项目很紧张,但是在这个周末。还是偷偷的对liteIDE小不爽的地方进行了一些小的改造。 IDE上的run按钮就是运行当前的go文件。 首先我们项目运行只是运行统一或者少数的入口点每次点开固定的文档才能run真的是够了。另外一个主要的原因在于liteIDE没有project管理支持。 而且这个IDE貌似没有出很长时间一般的RCP平台都是有插件开发的。但是这没有插件开发(貌似是有。而且是用python写的)但是,没找到文档(截至 2015年1月19日)也是醉了。 关键入口点还是我在google Code上找到的一个文档。 在配置中的LiteBuild里面有一个gosrc.xml 这个配置文件能修改buttion调用的命令。好吧就只能...阅读全文

博文 2015-03-07 21:32:39 jianyingLi

关于go接口的一些说明

什么是接口 接口是golang最重要的特性之一,在Go中,接口interface其实和其他语言的接口意思没什么区别。interface理解其为一种类型的规范或者约定。一种类型是不是“实现”了一个接口呢?就看这种类型是不是实现了接口中定义的所有方法。接⼝是一个或多个方法签名的集合,任何非接口类型只要拥有与之对应的全部方法实现 (包括相同的名称、参数列表以及返回值。),就表示它"实现" 了该接口,无需显式在该类型上添加接口声明。此种方式又被称作Duck Type。 接口的实例化 接口是可被实例化的类型,而不仅仅是语言上的约束规范。当我们创建接口变量时,将会为其分配内存,并将赋值给它的对象拷贝存储。将对象赋值给接口变量时,会发生值拷贝行为。没错,接口内部存储的是指向这个复制品的指针。而且我们无法修...阅读全文

博文 2014-10-04 19:26:23 壬癸甲乙

Golang工具链概览(一)

我们都知道Golang提供了很多功能丰富而强大的命令行工具。但是这么多工具,每一个到底是做什么用的?本文来粗略的聊聊比较常用的几个工具的作用和用法。 gofmt gofmt是一个代码格式化工具,仅针对代码格式进行整理,保证大家的代码格式统一。 附上gofmt前后的效果: golint golint工具是对代码质量的检查,会给出一些最佳实践指引。看下面的代码: 之行golint之后 main.go:8:5: error var SomeError should have name of the form ErrFoo main.go:8:5: exported var SomeError should have comment or be unexported main.go:16:9: if...阅读全文

博文 2015-09-09 19:54:59 长洪

Golang分布式设计模式之-----星型拓扑分形设计

Golang分布式设计模式之-----星型拓扑分形设计 上一篇分层设计中,利用了简单的流水线原理,实现了简单的状态转移的设计。如下 这一篇我们将考虑另外一种情况。例如,linux内核中的进程管理。所有的进程都有一个父进程。当子进程正常运行时候,与父进程基本无通信。但当子进程死亡时,要通知其父进程,让父进程进行资源回收。当父进程死亡时,两种情况,子进程随着父进程一起死亡,或者将子进程交由父进程的父进程管理。类似于下图 其中每个进程都有自己的父进程,也有可能会有自己的子进程。 在这种管理中,父子关系,或者说是管理者与被管理者的关系。被管理者,可以独自运行,但要将其的一些状态告知管理者,或者管理者,可以定期获取被管理者的状态。 下面以一个p2p下载器为例: 一、职能划分,形成管理者与被管理者 1)...阅读全文

博文 2015-01-21 09:17:51 screscent

go语言chan 和 routine活用

这里,我们以游戏中的一个情况为例。比如魔兽世界里的40人团队副本BOSS战,很多玩家同时攻击BOSS,BOSS的血量会进行频繁修改,我们要记录对BOSS的致命一击。常规 对BOSS血量的操作经行加锁,然后修改,每次攻击甚至还会判断怪物是否处于死亡状态以判断客户端是否能施放某个技能,但这样会让一个锁控制40个玩家的攻击操作,会导致攻击,技能等释放的不流畅。所以魔兽世界应该不是采用这种加锁的方式。为什么我这样说,因为做为了一个wower,我们经常会发现,实际BOSS,怪物已经死了,但我的寒冰剑还在半路,结果呢,寒冰剑击中了已经成为尸体的怪物并且显示伤害值。 使用GO语言来实现这样的功能: /** * Created by Administrator on 13-12-20. */ package...阅读全文

博文 2014-10-04 19:25:56 eclipser1987

Golang实现的红黑树

红黑树是一种基于二叉查找树的数据结构,它具有如下性质: (1) 二叉查找树的性质它都有 (2) 每个节点都有一个颜色属性,每个节点或是红的或是黑的 (3) 根节点必须是黑的 (4) 每个叶子节点(nil节点)为黑 (5) 如果一个节点为红的,那么它的两个孩子都是黑的 (6) 每个节点到它子孙叶子节点的路径上的黑色节点个数是相同的 相比二叉查找树,红黑树在添加或删除元素的同时还需要调整树的深度,所以需要用到对树结构的一些旋转操作,下面的实例代码给的非常详尽了,可以看看LeftRotate()和RightRotate()函数式如何实现旋转的。如果有人发现了BUG请在留言中发表~ 这个代码是在之前的"Golang以OO的方式实现二叉查找树"里的代码加工实现的,因为本人技术不到位。。。出了好几次BU...阅读全文

博文 2015-06-17 20:03:52 u011774512

Goclipse中运行Go语言程序的配置.

昨晚和今天一上午分别在Windows7、Ubuntu 12.04LTS和Mac OS X上尝试配置了下Go语言的开发环境,安装Go语言倒是都没遇到什么问题,就是在使用Eclipse的Goclipse插件开发Go语言的时候,一直Run不起来,原因就是源文件一直没有被编译。后来去认真读了下Goclipse的文档才发现原来是必须要将项目目录命名为cmd才可以。 这里只是简单介绍下利用Goclipse开发Go语言的注意事项,至于安装Go语言和配置Go语言的运行环境,网络上有太多的教程,这边就不再赘述。 首先,在Eclipse的Install Update里输入Goclipse的在线更新地址: http://goclipse.googlecode.com/svn/trunk/goclipse-upda...阅读全文

博文 2015-01-08 15:01:43 hxd861030

go语言操作mysql数据库问题

hi 我用github.com/Go-SQL-Driver/Mysql操作mysql 例子参照go web 编程教程 增改删按顺序操作没问题,但是只修改就报错,求助大神是什么原因造成的? 报错信息: .\test.go:47: undefined: stmt .\test.go:48: undefined: res .\test.go:48: undefined: stmt .\test.go:49: undefined: res //代码如下: package main import ( "database/sql" "fmt" _ ...阅读全文

【探探】知名社交 招聘 高级GO语言开发

联系方式: QQ:405121666 Email:king@fengqihr.com 薪资面议 职责: 探探后台服务的研发 项目管理 带新人 要求: 两年以上工作经验 在一线的互联网公司工作过。 参与过百万级日活以上产品的研发。 熟悉Go语言或者至少精通其他一门语言并且愿意转go 善于沟通协作 公司简介 探探,2016年最具成长力产品奖。 探探,2015年“最受女性欢迎的社交app”奖项获得者。 探探,2015年拉勾“社交领域最佳雇主”奖项获得者。 探探,2015年百度“年度创新应用”奖项获得者。 探探,2015年中国互联网大会“最具行业先锋奖”奖项获得者。 探探,2015年中国互联网大会授予探探团队行业先锋人物获得者。 截至到...阅读全文

惊喜 Christmas,七牛携明星客户送大礼~

![720X400-1.jpg](http://studygolang.qiniudn.com/151224/dbacf5b8b5f25b6b71083b482aba959d.jpg) 2015 年,七牛云迎来了第 40 万用户, 每天 750 亿的请求, 为客户安全托管 1600 亿份文件, 快速稳定地处理 12 亿在线数据, 我们,一直在努力! 2015 年,这一年被称作寒冬之年, 据说,收到牛小七与明星客户送的圣诞礼物, 寒冬很快就会过去哦! ![720X400-2.jpg](http://studygolang.qiniudn.com/151224/0e1370677318cc65de62c50391a1ec92.jpg) ...阅读全文

golang语法总结(二十一):方法method

Go不像其它面相对象语言一样可以写个class,然后在class里面写一堆方法,但是它也很巧妙的实现了这种效果,我们只需要在普通函数前面加个接受者(receiver,写在函数名前面的括号里面),这样编译器就知道这个函数(方法)属于哪个struct了。 下面是简单示例: type A struct { Name string} func (a A)foo() { //接收者写在函数名前面的括号里面 fmt.Println("foo")} func main() { a := A{} a.foo() //foo} 需要注意的是,因为Go不支持函数重载,所以某个接收者(receiver)的某个方法只能对应一个函数,比如下面的就属于方法重复,编译无法通过: func (a A)foo() { fmt...阅读全文

博文 2016-02-23 15:00:04 QQ245671051

在 Cloud 9 中搭建和运行 Go

简介 自从使用了Chromebook,我脑中一直充斥着在云端开发的念头。在我使用过的位数不多的在线开发环境中,唯有 Cloud 9令我比较满意。实际上,Cloud 9还不支持Go的开发,因此本文我将教大家如何让Go在Cloud 9上运行。 创建你的工作区 第一步,创建一个workspace,根据个人喜好命名。 工作区创建完成后,点击开始编辑按钮,你讲看到一个空白的工作区和一个README.md文件(删了也无所谓)。 在工作区的底端,你可以看见控制台,也就是接下来我们要进行操作的地方。如果你希望使用一个更纯粹的控制台,你可以在下面位置启动它: View > Terminals > New Terminal C9最牛逼的地方在于它的虚拟环境,如果你熟悉linux下的命令行,那么上手将轻而易举。既...阅读全文

博文 2014-11-13 12:00:00 zajin

Golang实现大数乘法

大数乘法,简单的说,就是把小学学的列竖式计算的方法进行了实现。这其实也就是个乘法分配率的变形。 5 * 12 = 5 * (2 + 10) = 5 * 2 + 5 * 10 所以第二行竖式,12的十位1与5相乘的时候,需要再最后空一位,其实是在最后省略了一个0。十位就是省略一个0,也就是左移一位,那么百位就是左移两位。以此类推。 通过代码实现,相乘的两个数就不能用整形表示了,因为存不了很大的整数。需要用字符串表示。按位相乘,最后把结果错位相加就行。乘法的结果等于乘数的位数,所以可以申请一个和乘数位数相同的数组,然后错位相加即可。但是这样太麻烦了。 乘法是从个位开始,但是遍历字符串是从最高为开始的,所以要首先将输入字符串反转。用i表示被乘数的遍历索引,j表示乘数的索引。前面说了左移的位数和乘数...阅读全文

Constants(意译)

1.有以下几种 constants : rune , integer , floating-point , complex , string 。 其中, rune , integer , floating-point , complex constants 被称作 numeric constants 。 2.constant value 由下列情况给出: - 【 rune , integer , floating-point , imaginary , string 】 literal - 可以表示 constant 的 标识符 - constant expression - 结果是 constant 的 conversion -...阅读全文

在 Cloud 9 中搭建和运行 Go

简介 自从使用了Chromebook,我脑中一直充斥着在云端开发的念头。在我使用过的位数不多的在线开发环境中,唯有 Cloud 9令我比较满意。实际上,Cloud 9还不支持Go的开发,因此本文我将教大家如何让Go在Cloud 9上运行。 创建你的工作区 第一步,创建一个workspace,根据个人喜好命名。 工作区创建完成后,点击开始编辑按钮,你讲看到一个空白的工作区和一个README.md文件(删了也无所谓)。 在工作区的底端,你可以看见控制台,也就是接下来我们要进行操作的地方。如果你希望使用一个更纯粹的控制台,你可以在下面位置启动它: View > Terminals > New Terminal C9最牛逼的地方在于它的虚拟环境,如果你熟悉linux下的命令行,那么上手将轻而易举。既...阅读全文

博文 2014-11-06 18:00:00 cmy00cmy, 5th_days

BookStack V1.2 发布,增加书籍分类和用户主页等功能

BookStack,分享知识,共享智慧!知识,因分享,传承久远! BookStack是基于[Mindoc](https://gitee.com/longfei6671/godoc)开发的,为运营而生,可用于文档项目管理,也可用于开源书籍的整理并提供用户阅读,支持批量创建文档、markdown项目一键导入以及文章采集等强大便捷的功能。 ![首页1.png](http://static.bookstack.cn/projects/help/15234b6d9c2c2a4d.png "首页1.png") ## 升级日志 1\. 增加书籍分类 ![分类1.png](http://static.bookstack.cn/projects/help/15234b715f85...阅读全文

Go 1.11 正式发布:对 Modules 的支持

美国当地时间8月24日,Go 开发团队宣布推出 Go 1.11 正式版。 下载地址:https://studygolang.com/dl 新版本主要两大核心功能:Modules 和 WebAssembly 新版本在工具链、运行时和库都有许多变化和改进。当然,兼容性方面依然会兼容旧版本。此外有两个最值得关注且激动人心的新特性 —— 对模块(modules)和 WebAssembly 的支持。 Go Modules 此版本增加了对被称作“模块(Go Modules)”的初步支持,这是 GOPATH 的替代方案,集成了对版本控制和软件包分发的支持。该功能目前仍处于实验性阶段,并且仍有一些可能会影响使用的问题,因此请随意使用问题跟踪器进行反馈或查阅解决方案。 We...阅读全文

Go转型——数据结构初级(四)栈和队列

**1**.栈和队列 栈和队列是两种常用的线性结构,从数据结构角度来看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作实现性别操作的子集,他们是操作受限的线性表,因此也被称为限定的数据结构。但从数据类型角度来看,他们是和线性表大不相同。 **栈**:是限定仅在表尾进行插入或删除操作的线性表。对于栈来说,表尾一端有特殊含义,称为栈顶,相应的标头段称之为栈底。不含任何元素的栈被称作空栈。 假设S=(a(1),a(2),a(3),.......a(n)),我们称a(1)为栈底元素,a(n)为栈顶元素。进栈顺序应为a(1),a(2),a(3),.......a(n),退栈的顺序第一个元素应为栈顶元素。换句话说,栈的修改是按照后进先出的原则进行的,因此,栈又称之为后进先出线性表(简称LIFO结构)...阅读全文

博文 2018-01-24 17:04:03 yinshidaoshi

阿里云云大使经验分享:老司机9招带你玩转云大使推广

阿里云是国内云服务器市场的龙头,性价比高,速度快又安全,是站长建站首选的云服务器之一。福利吧使用的也是阿里云服务器,是折腾了很多次网站搬家后,才选择了阿里云。身边好几个站长最后都殊途同归,用了阿里云,可见阿里云服务器性能确实好。其实在阿里云没有推广返利的时代,我就已经向身边的站长朋友,推荐阿里云了。自从阿里云推出了云大使返利策略后,就更加积极的推广阿里云了,推广的越多我们收益越高。推广阿里云主要方式就是推广阿里云云大使幸运券,新用户用你的阿里云幸运券购买云服务器等产品,你会有返利,而且是现金哦。作为一个老司机,福利吧(www.fuliba.com)也和大家分享一下我的阿里云推广经验,教大家如何免费推广云大使。 1、站长利用自己的网站推广 站长可以利用你自己的网站进行推广,你的...阅读全文

30亿条个人信息被盗,全站HTTPS迫在眉睫

本文首发于微信公众号:网络安全生命周期原文链接:30亿条个人信息被盗,全站HTTPS迫在眉睫【特大流量劫持事件】据新华网报道,日前,浙江绍兴市越城区公安分局侦破一起特大流量劫持案,涉案主角瑞智华胜,涉嫌非法窃取用户个人信息30亿条,涉及百度、腾讯、阿里、京东、新浪和今日头条等全国96家互联网公司产品,几乎涵盖了国内主要互联网企业。原来这家公司是通过流量劫持(HTTP劫持)的方式,非法收集个人信息并盗用用户认证凭据(Cookie)进行精准营销(加粉、点赞、发帖、添加广告等)。【根因分析】目前广泛使用的HTTP协议,由于是明文传输,往往会被劫持,其中用于身份认证的凭据(Cookie)很容易被窃取,此外劫持者还会在返回的网页内容中添加js脚本,用于展示广告等原始网页中并不存在的内容。要避免被劫持,...阅读全文

GoLang 小计

1. 每个package 都有 一个 init 函数可以默认进行调用。 不能自己手动调用。 2. 取模余数正负号和被除数一致。 3. new 出来的对象不一定是创建在堆上。 两个 空 struct 被new出来可能有相同的地址。 4. %v 内置格式输出 %b 二进制输出。 5. x & y 都是1 得到1 ,否则为0 交集 x | y 有1 得1 并集 x^y 相同得0 否则得1 对称差 x&^y y对应1位 清理x对应位,否则不动 差集 x = 00100010 y = 00000110 x&y = 00000010 x|y = 00100110 x^y = 00100100 x&^y = 00100000 6. 代码中数字 0666(八进制) 0xffffeeee(十六进制) 7.fm...阅读全文

博文 2018-08-07 07:30:02 gamearea

诸神之战|福建赛区圆满收官,IP“论剑”引爆现场

8月18日,阿里巴巴诸神之战全球创客大赛(福建赛区)暨全球版权投资与交易论坛在厦门圆满收关。来自阿里巴巴创新中心、阿里系合作伙伴、IP合作领域名企、投资机构及福建的创业精英们齐聚一堂,共同探讨产业合作、投资趋势、明晰IP的发展前景。厦门市集美区人大副主任陈来福、集美区科技局局长张长明出席活动。 福建赛区冠军强势出炉 2017阿里巴巴诸神之战福建赛区于7月正式启动,经过了BP报名、线上评分、大赛路演等多个环节,最终,8月18日迎来赛区决赛。决赛分为文创组与商业组,厦门市创投、集美产投参与,由奥飞贝肯投资、铂欣资本、达晨创投、信息资本、九鼎创投、九贤资本等投资机构担任评委,进行严格比赛。最终,泊喜、游仁科技分别拿下了福建赛区文创组及商业组两个冠军席位,也同时获得了诸神之战...阅读全文