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

Golang interface接口全面理解(一)

There are three kinds of time: the future is late, and now it is flying like an arrow. The past will never stand still. 时间的步伐有三种:未来姗姗来迟,现在像箭一般飞逝,过去永远静立不动。 什么是interface 在面向对象编程中,可以这么说:“接口定义了对象的行为”, 那么具体的实现行为就取决于对象了。 在Go中,接口是一组方法签名。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口。它与oop非常相似。接口指定类型应具有的方法,类型决定如何实现这些方法。 创建和实现interface 在Golang中只要实现了接口定义的方法,就是(JAVA implement...阅读全文

博文 2018-03-12 15:33:08 90design

ECUG Con 2011 - 国内第一场 Go 语言为主题的盛宴

ECUG Con 2011 介绍 ECUG.ORG 是 ECUG Con 大会的官方支持站点。 ECUG 全称为 Effective Cloud User Group(实效云计算用户组)。我们关注的是并发模型和分布式开发的最佳实践。 按照 ECUG 的计划,预计每年我们都会举行一次全国性的 ECUG Con 大会。下面是历届的会议资料: 2007年9月8日,CN Erlounge I,珠三角 Erlang 爱好者小聚。无会议资料,但酝酿了之后具有里程碑意义的 CN Erlounge II。2007年10月13~14日,CN Erlounge II (ECUG Con 2007)在珠海召开。金山为大会主要赞助方。2008年12月20~21日,CN Erlounge III(ECUG Con 2...阅读全文

博文 2014-10-19 17:00:00 xushiweizh

近十年来最好的语言是什么?-来Gopher China大会找答案

2015年2月,眼看着Gopher 大会先后在国外多地举行,而使用 Golang 最多的国家居然还在静悄悄地各自开发系统,我们意识到Gopher China的正式启动势在必行了。经过这两个月的筹备,Gopher China就要在4月25-26日跟各位开发者们正式见面了。不负众望,本次大会门票提前一个多月就售罄了。作为第一届中国的Gopher大会,到底是什么吸引开发者们这么积极参与呢?今天小编就带大家提前一睹这次会议的亮点。 如果你还不知道Go语言是什么? “PHP是最好的语言。”过去,PHP因为其简单好学,性能和安全性也基本够用被大家喜欢。但是随着互联网时代网民的大大增加,开发者需要一门语言可以支撑更高的性能。Go适时地出现,良好的语言设计使其简单好学,并发性与执行性能都很好,并且部署简单。...阅读全文

博文 2015-04-24 18:00:00 七牛云

golang executable file not found in $PATH

最近使用docker,遇见executable file not found in $PATH,深究一下源码,追溯到golang内置包,看代码 //寻找可执行的文件,取文件的mode(二进制形式) func findExecutable(file string) error { d, err := os.Stat(file) if err != nil { return err } //看属性 if m := d.Mode(); !m.IsDir() && m&0111 != 0 { return nil } return os.ErrPermission } 来看看linux手册上面的mode数值 S_IFMT 0170000 文件类型的位遮罩 S_IFSOCK 0140000 socke...阅读全文

博文 2015-09-17 12:00:06 webyh

近十年来最好的语言是什么?-来Gopher China大会找答案

2015年2月,眼看着Gopher 大会先后在国外多地举行,而使用 Golang 最多的国家居然还在静悄悄地各自开发系统,我们意识到Gopher China的正式启动势在必行了。经过这两个月的筹备,Gopher China就要在4月25-26日跟各位开发者们正式见面了。不负众望,本次大会门票提前一个多月就售罄了。作为第一届中国的Gopher大会,到底是什么吸引开发者们这么积极参与呢?今天小编就带大家提前一睹这次会议的亮点。 如果你还不知道Go语言是什么? “PHP是最好的语言。”过去,PHP因为其简单好学,性能和安全性也基本够用被大家喜欢。但是随着互联网时代网民的大大增加,开发者需要一门语言可以支撑更高的性能。Go适时地出现,良好的语言设计使其简单好学,并发性与执行性能都很好,并且部署简单。...阅读全文

博文 2017-02-09 13:46:05 七牛云

Hello-golang

##Hello-Go-2017 ### 第一次听见--到遇见 2014年刚毕业半年,刚入职一家新公司,一个一起打篮球的同事刚好离职,说要回武汉了,同是湖北老乡,有点儿莫名的感伤。他毕业名校,来深圳两年,一直在这家公司,家底小康,离开深圳,会过的舒服一些,问了一下回家打算,他说,回去做培训老师,就是做GO语言的,当时第一次听说,感觉是一个小众语言,自己还是Java楞青头。觉得,多好的Java为什不做了呢??? ### 两年后 换了一次工作,在一家新的创业公司,项目老大是全棧工程师,感觉,有个优秀的导师一起工作,非常有钱途。每天十一二点,通宵加班,满满的都是激情。。。感觉自己就是下一个全棧Java工程师。 ### 不测,山水有相逢 一起为项目奋斗的日子,是那样的充实和不辞辛劳,在全员...阅读全文

小米监控系统 OpenFalcon

OpenFalcon是一款小米监控系统。 功能: * **数据采集免配置**:agent自发现、支持Plugin、主动推送模式 * **容量水平扩展**:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。 * **告警策略自发现**:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。 * **告警设置人性化**:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。 * **历史数据高效查询**:秒级返回上百个指标一年的历史数据。 * **Dashboard人性化**:多维度的数据展示,用户自定义Dashboard等功能。 * **架构设计高可用**:整个系统无核心单点,易运维,易部署。 ...阅读全文

规则引擎研究(一)——Rete算法(1)

RETE算法介绍 一、 rete概述 Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关。Rete是拉丁文,对应英文是net,也就是网络。Rete算法通过形成一个rete网络进行模式匹配,利用基于规则的系统的两个特征,即时间冗余性(Temporal redundancy)和结构相似性(structural similarity),提高系统模式匹配效率。 二、 相关概念 2.1 事实(fact): 事实:对象之间及对象属性之间的多元关系。为简单起见,事实用一个三元组来表示:(identifier ^attribute value),例如如下事实: w1:(B1 ^ on B2) w6:(B2 ^color blue) w2:(B1 ^ on B3) w7:(B3 ^left-of...阅读全文

博文 2017-11-29 01:46:53 小爽的老公

Kubernetes学习系列

这段时间项目组内想要引入Kubernetes,作为第二代容器调度引擎,故最近在系统的学习Kubernetes。整理了一些学习笔记,心得,放到博客中,一来记录自己的学习经过,二来看能否帮到有需要的同学。详情见下: 1、Kubernetes核心概念总结——介绍基础架构、Pod、RC、Job、Service、Deployment等。 2、Centos7部署Kubernetes集群——基于Centos7,yum安装K8s,并配置集群,最后部署了容器覆盖网络——Flannel。 3、基于kubernetes集群部署DashBoard——基于上一篇部署的集群,搭建了DashBoard,其中介绍了一些众所周知的坑,比如google镜像国内无法下载。 4、为Kubernetes集群部署本地镜像仓库——针对上...阅读全文

博文 2018-03-14 10:28:05 xiaomin0322

新冠疫情严重,居家远程办公

新冠疫情严重,居家远程办公不平凡的庚子鼠年2020年庚子鼠年是个不平凡的新年,人说每逢庚子年都会发生一些大事,果不然这年的新年居然发生大规模的传染病毒。这个新年过的比较惊心动魄????,唯一点比较好的是,现在啥都变的安静了,路上车也少了,人也少了,仿佛回到了木心诗里写的那样一切变慢了。虽然在家那也不去的"隔离"了十几天,但是随着日子的增加,你的房贷,车贷,花呗还款这些还是会到来的,你不上班就木有收入了,公司也会陷入发展停滞。这些都是我们不愿看到的。作为互联网公司相比传统公司的好处,我们可以不用接触人,线上远程的办公,至少可以让工作继续进行。远程办公我们几乎所有公司的办公系统都是在公司内网的,想要在家办公,就需要最起码连接到公司内网,或者操作你的公司电脑。这里我之前用过两个软件teamview...阅读全文

博文 2020-02-14 00:32:55 秸秆青储液压打包机

go语言赋值

使用赋值语句可以更新一个变量的值,最简单的赋值语句是将要被赋值的变量放在=的左边,新值的表达式放在=的右边。 x = 1 // 命名变量的赋值 *p = true // 通过指针间接赋值 person.name = "bob" // 结构体字段赋值 count[x] = count[x] * scale // 数组、slice或map的元素赋值 特定的二元算术运算符和赋值语句的复合操作有一个简洁形式,例如上面最后的语句可以重写为: count[x] *= scale 这样可以省去对变量表达式的重复计算。 数值变量也可以支持++递增和--递减语句(译注:自增和自减是语句,而不是表达式,因此x = i++之类的表达式是错误的): v := 1 v++ // 等价方式 v = v + 1;v 变成...阅读全文

博文 2016-04-11 03:00:02 zsy

阿里程序员吐槽:每天晚上加班12点,主管还要review两小时

近日,一名阿里员工感叹加班太狠了,其在阿里旗下的盒马工作,称自己的主管是个奋斗逼,每天加班太狠,把一组人逼得很累,晚上12点给大家review,review到凌晨一两点,全组晚上加班基本上都要到12点以后。​不得不说,这名阿里员工的遭遇着实让人同情,每天加班到12点以后,真的是用生命在换钱,为此不少网友进行了如下评论:见过不少晚上搞到凌晨两点多,第二天中午才来的,实际上工作时间差不多,非要晚上熬!而且拖着下面一起熬。​还有开通宵头脑风暴会的,人脑子开成猪脑子,还风暴毛线;我一直没搞明白,大家早9点上班,晚上早点下班不好吗?为啥一个一个中午才来,晚上搞凌晨,最后还在大群里晒个熬夜照?工作时长明明一样。​如下则是另外一些网友的评论:哎,真的很气。搞不懂,好好的作息不要要熬夜,不给人生活的机会啊;...阅读全文

博文 2019-04-27 18:55:08 javaworid

RETE算法的描述(原创)

通过一周左右的研究,对规则引擎有了一定的了解。现在写点东西跟大家一起交流,本文主要针对RETE算法进行描述。我的文笔不太好,如果有什么没讲明白的或是说错的地方,请给我留言。 首先申明,我的帖子借鉴了网上很流行的一篇帖子,好像是来自CSDN;还有一点,我不想做太多的名词解释,因为我也不是个研究很深的人,定义的不好怕被笑话。 好现在我们开始。 首先介绍一些网上对于规则引擎比较好的帖子。 1、 来自JAVA视频网 http://forum.javaeye.com/viewtopic.php?t=7803&postdays=0&postorder=asc&start=0 2、 RETE算法的最原始的描述,我不知道在哪里找到的,想要的人可以留下E-mail 3、 CMU的一位博士生的毕业论文,个人觉得...阅读全文

博文 2017-11-29 01:46:33 ipointer

Windows 中文账号导致go test 出问题

看到 golang-china 讨论组上有人提问 go test 的问题,由于Windows下,他的账号是中文的,而目前 Go 的一些命令不支持 UTF-8,导致中文路径有问题。 解决方法: 写一个 go.bat wrap 一下 go.exe,在执行 go.exe 之前设置一下 TEMP 环境变量到一个没有中文的路径, 不需要重新建用户。 大概是因为这个问题: https://code.google.com/p/go/issues/detail?id=3754 等 Go 编译器换成用 Go 写之后就没这个问题了...阅读全文

解读2016之Golang篇:极速提升,逐步超越

Go语言已经7岁了!今年8月,Go 1.7如期发布。撰写本稿时,Go 1.8的测试版也出来了。我们正在热切盼望着明年2月的Go 1.8正式版。 如果你关注TIOBE的编程语言排行榜就会发现,截止到2016年11月,Go语言从原先的第50多位经过多次上窜已经跃到了第13位,跻入绝对主流的编程语言的行列!这份排行榜每月都会更新,并基于互联网上的程序员老鸟、教学课程和相关厂商的数量进行排名。在国内,从我这几年运营Go语言北京用户组的经历来看,可以明显地感觉到Go语言的在国内的大热。N多初创互联网企业都选用Go语言作为他们的基础技术栈。我还发现,已经有在大数据、机器人等尖端科技领域耕耘的国内公司开始使用Go语言。这门语言现在已经是无孔不入了。 1. 回顾 遥想去年的1.5版本,Go运行时系统和标准库...阅读全文

Go语言圣经 1.3-赋值及类型声明篇

赋值(Assignment) 变量的值可以通过赋值操作符 = 来更新, v = 10。x = 1 // 具名变量x *p = true // 指针变量 person.name = "bob" // 结构体struct的字段 count[x] = count[x] * scale // 数组、切片或者map的某个元素 算数操作符和位操作符都有对应的一元操作符形式, v = v + x 等价于 v += x,例如:count[x] *= scale 这样的缩略形式能省去不少重复的工作,同时数字变量还能通过++递增或者--递减:v := 1 v++ // same as v = v + 1; v becomes 2 v-- // same as v = v - 1; v becomes 1 aga...阅读全文

博文 2016-03-18 20:00:00 abv123456789

Go,5周年

Go,5周年 十一 12 bigwhite技术志 cloudflare, DigitalOcean, dotGo, FOSDEM, GC, github, Go, Go1, go1.4, Go1.5, GoCon, GoDevRoom, Golang, Google, Gopher, GopherCon, Gophers, GothamGo, Heroku, RobPike, 垃圾收集器, 谷歌 No Comments 2014年11月10日(美国当地时间),Golang的官方博客 放出了Andrew Gerrand的一篇博文《Half a decade with Go》来纪念Go语言发布五周年。文章按时间顺序简要描述了Golang这五年来发展的 点点滴滴,并让全世界Gopher看到了Go可...阅读全文

博文 2014-11-12 19:13:21 bigwhite

GOLANG 赋值

基本赋值语法 变量=表达式 var a int;a=1 变量里的元素=表达式 var arr[3] int;arr[0]=1 声明变量类型同时赋值 var 变量 类型=表达式 var arr[3] int =[3]int{1,2,3} 复合操作 变量 运算符=表达式 var c int=10;b+=1 变量里的元素 运算符=表达式 var arr [3] int;arr[1]+=2 自增,自减,使用与数值型,不能放在表达式中 变量++,变量-- var i int=99;i++ 元组赋值 变量1,变量2,变量3=表达式1,表达式2,表达式3 var x,y,x int;x,y,z=1,2,3 简短声明,声明变量同时赋值,变量类型有go自主推导 变量 :表达式 teacher :="曾远征...阅读全文

博文 2016-08-30 16:00:00 zengyz

golang: 详解interface和nil

golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、interface、map或slice类型的变量。如果未遵循这个规则,则会引发panic。对此官方文档有明确的说明:http://pkg.golang.org/pkg/builtin/#Type golang interface nil gdb error golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、inter...阅读全文

博文 2014-10-04 19:26:09 kjfcpua

Docker 核心技术与实现原理

Home Menu Docker 核心技术与实现原理 30 Nov 2017 docker namespaces cgroups unionfs aufs server Namespaces 进程 网络 libnetwork 挂载点 chroot
 CGroups UnionFS 存储驱动 AUFS 其他存储驱动 总结 Reference 提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了。作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大。 同样,由于项目的发展、功能的拆分以及各种奇怪的改名 PR,让我们再次理解 Docker 的的...阅读全文

博文 2017-12-02 11:31:02 draveness.me

Go语言开发工具 LiteIDE x10 发布

GO语言开发工具liteide x10发布,更新了GO调试插件。 LiteIDE项目: 操作系统: Windows / Linux x86 / Linux x86_64 / MacOS X 10.6 项目主页: http://code.google.com/p/golangide 项目源码 : http://code.google.com/p/liteide 讨论组: http://groups.google.com/group/liteide-dev 下载链接: http://code.google.com/p/golangide/downloads/list IDE基本特性: 以MimeType为基础构建的IDE环境变量管理和切换功能源码编译系统管理和切换功能简洁和开放的调试系统KATE...阅读全文

Kafka 消费者滞后检查 Burrow

Burrow是一个基于Apache Kafka的监控助手,为消费者提供滞后检查作为服务,而不需要指定的阈值。它可以监视所有消费者提交的偏移,并计算这些消费者的需求状况。 **特性** * 没有阈值 * 多Kafka集群支持 * 支持配置 Zookeeper 提交的偏移 * 支持配置 Strom 提交的偏移 * 可配置的emailer用于发送警报到特定群体 * 可配置的HTTP 客户端用户为所有的用户组发送警报到其他系...阅读全文

[笔记] Golang Socket

1. Socket 简介 常用的 Socket 类型有两种:流式 Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。 流式是一种面向连接的 Socket,针对于面向连接的 TCP 服务应用; 数据报式 Socket 是一种无连接的 Socket,对应于无连接的 UDP 服务应用 2. 网络中的进程之间如何通过 Socket 通信呢? 网络层的“ip 地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip 地址,协议,端口)就可以标识网络的进程了,网络中需要互相通信的进程,就可以利用这个标志在他们之间进行交互。 3. 代码示例:客户端模拟HTTP 协议 1 package main 2 3 impo...阅读全文

博文 2016-05-06 10:00:08 loveyx

Go语言开发工具 LiteIDE x12 发布

GO语言开发工具liteide x12发布,增强对GO1的支持。 LiteIDE项目: 操作系统: Windows / Linux x86 / Linux x86_64 / MacOS X 10.6 项目主页: http://code.google.com/p/golangide 项目源码 : http://code.google.com/p/liteide 讨论组: http://groups.google.com/group/liteide-dev 下载链接: http://code.google.com/p/golangide/downloads/list更新记录: http://code.google.com/p/golangide/wiki/changes快捷键: http://c...阅读全文

博文 2014-11-15 13:00:11 visualfc

MongoDB 上市后,带你认识这款非同一般的文档数据库

本文地址:https://linux.cn/article-9006-1.html 2017-10-28 20:18 收藏: 1 10 月 20 日,位于纽约的 MongoDB 在纳斯达克上市,当日收于 32.07 美元,比 24 美元的 IPO 价格高出 34%。MongoDB 首席财务官 Michael Gordon 放言:MongoDB 在数据库系统这个市场大有机会取代 IBM 和 Oracle!如此的霸气,底气哪里来? 大数据和云计算的风被谷歌吹起来的时候,被谷歌收购的网络广告公司 DoubleClick 的原 CEO 和 CTO 们觉得自己应该蹭上时代的列车,再次创业,然后 10gen 公司就这样在纽约诞生了。它的创始人分别是 DoubleClick 的创始人兼 CTO 德怀特 ·...阅读全文

Go语言核心之美 1.3-赋值及类型声明篇

版权声明:本文为Sunface(孙飞)原创文章,转载请注明出处 https://blog.csdn.net/abv123456789/article/details/50894001 赋值(Assignment) 变量的值可以通过赋值操作符 = 来更新, v = 10。x = 1 // 具名变量x *p = true // 指针变量 person.name = "bob" // 结构体struct的字段 count[x] = count[x] * scale // 数组、切片或者map的某个元素 算数操作符和位操作符都有对应的一元操作符形式, v = v + x 等价于 v += x,例如:count[x] *= scale 这样的缩略形式能省去不少重复的工作,同时数字变量还能通过++递增或...阅读全文

博文 2019-03-17 13:09:03 erlib

常用Python数据类型转换方法 学习python课程

Python 支持四种不同的数值类型,分别是整型、长整型、浮点型和复数,这些类型的数据有各自的特点,在使用过程中也可以进行类型转换,具体转换方法如下: int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在...阅读全文

Python 代码性能优化技巧

来源:http://www.oldboyedu.com/zuixin_wenzhang/index/id/129.html Python开发代码简化除了采用规范化的编程规则之外,代码编写的逻辑性和对内置规则的掌握也对其有一定的影响,以下是Python3支持的用法,合理的利用可以极大的简化代码的书写复杂度。 **1. 列表推导式** 对于一组列表,如果想让其所有元素翻倍,很多人都会采用以往比较经典的写法,其实Python中有更精简的办法,实例如下: **以往做法:** num = [1, 3, 5, 7, 9] for i in range(len(num)): num[i] = num[i] * 3 **Python简化写法:*...阅读全文

Python编程必会数据类型

来源:http://bbs.oldboyedu.com/article-212-1.html 数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型: **1. 数字类型** Python数字类型主要包括int(整型)、long(长整型)和float(浮点型),但是在Python3中就不再有long类型了。 **int(整型)** 在32位机器上,整数的位数是32位,取值范围是-231~231-1,即-2147483648~214748364;在64位系统上,整数的位数为64位,取值范围为-263~263...阅读全文

排序算法详解(Go语言实现):冒泡排序/选择排序/快速排序/插入排序

算法是程序的灵魂,而排序算法则是一种最基本的算法。排序算法有许多种,本文介绍4中排序算法:冒泡排序,选择排序,快速排序和插入排序,以从小到大为例。 一、冒泡排序 冒泡排序的原理是,对给定的数组进行多次遍历,每次均比较相邻的两个数,如果前一个比后一个大,则交换这两个数。经过第一次遍历之后,最大的数就在最右侧了;第二次遍历之后,第二大的数就在右数第二个位置了;以此类推。 //冒泡排序(排序10000个随机整数,用时约145ms) func bubbleSort(nums []int) { for i := 0; i < len(nums); i++ { for j := 1; j < len(nums)-i; j++ { if nums[j] < nums[j-1] { //交换 nums[j]...阅读全文

博文 2015-06-17 23:07:39 books1958

leetcode刷题记录Array篇(1&~Two Sum)

题目:Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note: The solution set must not contain duplicate quadruplets. 翻译:给定n个整数的数组S,S中有元素a,b,c和d,使得+ b + c + d = target? 找到数组中所有独特的四元组,给出目标的总和。注意:解决方案集不能包含重复的四元组。 思路:思路和3sum是一样的,...阅读全文

博文 2017-04-21 02:45:50 L千年老妖

Go语言中的nil

本文是Francesc Campoy在GoConf上做的Understanding Nil演讲的笔记。 (1)nil没有type。 (2)在Go语言中,未显示初始化的变量拥有其类型的zero value。共有6种类型变量的zero value是nil:pointer,slice,map,channel,function和interface。具体含义如下: 类型 nil值含义 pointer 指向nothing slice slice变量中的3个成员值:buf为nil(没有backing array),len和cap都是0 map,channel,function 一个nil pointer,指向nothing interface interface包含”type, value”,一个nil ...阅读全文

博文 2017-06-25 14:11:10 肖楠

Golang语言的学习资料

鉴于Go还很年轻,下面贴几个学习相关链接。 Go官方网站: http://golang.org 目前看来,介绍相当齐全的文档:https://github.com/wonderfo/wonderfogo/wiki Go中文邮件组:http://groups.google.com/group/golang-china Go英文邮件组:http://groups.google.com/group/golang-nuts Go服务器开发讨论组:http://groups.google.com/group/ecug Go的最新源码:http://code.google.com/p/go...阅读全文

博文 2015-06-17 20:01:46 q454684431

一步一步教你的机器人寻找资源链接

1. 前言 从之前的文章 从零到一:用Golang编写机器人 ,我们已经可以编写一个属于自己的小机器人了。 而本文将讲解自己的机器人Samaritan找电影技能的实现,算是抛砖引玉吧。 本文技术仅供交流学习,请尊重影视版权。 2. 明确需求与前期准备 当我们想下载电影时: 输入电影名称 找到相关页面 找到下载资源超链接 复制链接地址用于最终的下载 而交给机器人做的话: 识别用户的输入 找到资源链接并格式化 输出格式化之后的结果 其中第1步和第3步是不是似曾相识?其实这正是之前文章实现的一个对话过程,只不过我们不再是让机器人“自由发挥”,而是告诉机器人该回复什么内容。 所以我们还需要做的,仅是教会机器人怎么从网络中搜索信息,以及哪些是我们所需要的信息。最好的办法便是“身教”,让机器人学习并模仿...阅读全文

博文 2017-02-10 06:37:55 evolsnow

Go语言核心之美 1.3-赋值及类型声明篇

赋值(Assignment) 变量的值可以通过赋值操作符 = 来更新, v = 10。x = 1 // 具名变量x *p = true // 指针变量 person.name = "bob" // 结构体struct的字段 count[x] = count[x] * scale // 数组、切片或者map的某个元素 算数操作符和位操作符都有对应的一元操作符形式, v = v + x 等价于 v += x,例如:count[x] *= scale 这样的缩略形式能省去不少重复的工作,同时数字变量还能通过++递增或者--递减:v := 1 v++ // same as v = v + 1; v becomes 2 v-- // same as v = v - 1; v becomes 1 aga...阅读全文

博文 2017-10-27 20:57:51 erlib

2019-08-12【LeekCode题库problem-15】

GitHub 地址:coffeeTu-code LeekCode 地址:题库 Language:Golang /* @题目 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 @示例: 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] @题目大意 给定一个数组,要求在这个数组中找出 3 个数之和为 0 的所有组合。 @解题思路 用 map 提前计算好任意 2 个数字之和,保存起来,可以将时间复杂度降到 O(n^2)。这一题比较麻烦的一点...阅读全文

博文 2019-08-13 01:32:45 CoffeeRabbit

算法练习之三数之和等于零

题目 题目来源于leetcode: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 答案中不可以包含重复的三元组 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [[-1, 0, 1],[-1, -1, 2]] 问题 什么情况下三个数相加才会等于零 三个数中肯定有正数和负数。 什么情况下三个数相加不可能为零 如果在一组数据中最小的两个数相加为正数,则这两个数和后面的数相加不可能等于零 如果在一组数据中最小的数为正数,则该数和其它数字相加不可能等于零 怎样判断会出现重复的值 如果在一组数据中有两个数相等,则会出现重复的值 解...阅读全文

博文 2019-08-16 15:32:55 陌无崖

GO 开发者对 GO 初学者的建议

注:原文地址为 Advise from Go developers to Go programming newbies 以促进 India 的 go 编程作为 GopherConIndia 承诺的一部分。我们采访了 40 位 Gophers(一个 Gopher 代表一个 GO 项目或是任何地方的 GO 程序员),得到了他们关于 GO 的意见。从 2014 年的八月到十一月,我们将每个星期发表两篇采访稿。 如果你正好刚刚开始 go 编程,他们对于我们一些问题的答案可能会对你有非常有用。看看这些。 应该做: 通读 the Go standard library 和 Effective Go,为了学习 GO 的规范,Effective Go 是被高度推荐的,尤其是如果你有其他语言的背景。 在 Go...阅读全文

博文 2015-06-17 20:15:56 wycoo

Zabbixctl

Zabbixctl 是采用[Zabbix](http://www.oschina.net/p/zabbix)服务API的命令行工具,它提供了有效的方式去处理当前触发状态、主机最新数据和用户组。 ![image](http://static.oschina.net/uploads/space/2016/0805/142056_EWuw_1774694.gif) 安装:

go get github.com/kovetskiy/zabbixctl
然后,运行可执行文件`$GOPATH/bin/zabbixctl` 使用前配置: 配置 ~/.config/zab...阅读全文

你可能不知道的的linux文件权限管理

目录的 rwx 权限 当前用户:vagrant:vagrant创建 testdir 目录,进入 testdir 目录内。创建文件 test。 $ mkdir testdir $ cd testdir $ touch test 修改 testdir 权限为 000,尝试执行 ls testdir $ chmod 000 testdir $ ls testdir/ ls: cannot open directory testdir/: Permission denied 修改 testdir 权限为 400,尝试执行 ls testdir $ chmod 400 testdir ls -l testdir/ ls: cannot access testdir/test: Permission d...阅读全文

博文 2018-11-19 18:34:46 Y_xx

GO 开发者对 GO 初学者的建议

注:原文地址为 Advise from Go developers to Go programming newbies 以促进 India 的 go 编程作为 GopherConIndia 承诺的一部分。我们采访了 40 位 Gophers(一个 Gopher 代表一个 GO 项目或是任何地方的 GO 程序员),得到了他们关于 GO 的意见。从 2014 年的八月到十一月,我们将每个星期发表两篇采访稿。 如果你正好刚刚开始 go 编程,他们对于我们一些问题的答案可能会对你有非常有用。看看这些。 应该做: 通读 the Go standard library 和 Effective Go,为了学习 GO 的规范,Effective Go 是被高度推荐的,尤其是如果你有其他语言的背景。 在 Go...阅读全文

博文 2017-02-09 13:40:59 yexiaobai

Cadmin 前后端分离后台开发项目

Cadmin 是一个前后端分离的后台开发项目集合,各项目基于前后端接口交互文档进行开发, 便于开发者选择自己熟悉的技术栈进行开发. 在线文档地址:https://baiy.github.io/Cadmin/ 功能 为适应更多的业务场景, 系统尽可能只集成最基础的后台功能, 以减少对业务的干扰. 大致功能如下: 用户/用户组: 后台用户基础信息维护和登录状态保持 权限/请求/菜单: 对前端API请求权限校验和菜单进行配置 请求调度: 请求前端API请求进行调度, 分配给对应的业务模块处理 相关链接 前后端交互接口协议:https://baiy.github.io/Cadmin... 数据库:https://baiy.github.io/Cadmin... PHP服务端 github: http...阅读全文

博文 2019-10-22 18:02:40 baiy

Golang函数

函数声明 函数使用func关键字声明,除了类型是后置的以外,剩下的地方基本和其他语言类似。特别地,和变量声明类似,如果函数参数的类型一样,同样可以只在最后添加类型。 func add(a, b int) int { return a + b } 函数返回值 Golang的函数可以返回多个值,这个特性类似于某些语言的返回元组的特性。 func swap(a, b int) (int, int) { return b, a } 命名返回值 命名返回值有点像某些语言的out参数。使用命名返回值的话,return语句就不需要添加返回值了,因为返回值已经在函数签名上指定了。 func divide(a, b int) (quotient, remainder int) { quotient = a /...阅读全文

博文 2017-06-01 15:07:24 乐百川

Go 1.14 中接口的菱形组合

按照[部分重叠的接口提议](https://github.com/golang/proposal/blob/master/design/6977-overlapping-interfaces.md),Go 1.14 现在允许嵌入有部分方法重叠的接口。本文是一篇解释这次修改的简要说明。 我们先来看 io 包中的三个关键接口:io.Reader、io.Writer 和 io.Closer: ```go package io type Reader interface { Read([]byte) (int, error) } type Writer interface { Write([]byte) (int, error) } type Closer interface { Close() e...阅读全文

博文 2020-05-31 20:25:34 lxbwolf

三数之和

三数之和 题目 题目来自: https://leetcode-cn.com/problems/3sum/ 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] Go语言实现 排序实现 思路,确定一个,然后计算余下两个数的和。可将数组排序,再做累加,参考代码如下: import ( "sort" ) func ThreeSum1(nums []int) [][]int { // 排序,快排 ...阅读全文

博文 2019-11-04 22:33:32 aside section._1OhGeD

2018-12-04 连接云服务器搭建Golang环境

一、1.ssh root@地址登录服务器。2.登录服务器失败vim /Users/zt/.ssh/known_hosts在/Users/zt/.ssh/known_hosts删除对应的数据 error 二、步骤我用的阿里云服务器 ubuntu 设置后终端root密码 1.ssh root@X.X.X.X2.(1)ubuntu指令 addgroup 用户组名 centOS指令 可以用groupadd 用户组名(2)useradd -g 用户组 用户名 adduser -g 用户组 用户名 同样 centOS ubuntu (usermod -g 用户组 用户名 //将已有用户加入到已有用户组)(3)passwd 用户名 设置用户密码(4)cd /home 进入home目录 输入ls 查看新建的...阅读全文

博文 2018-12-04 22:34:42 酱酱酱酱_1bbc

go语言赋值

使用赋值语句可以更新一个变量的值,最简单的赋值语句是将要被赋值的变量放在=的左边,新值的表达式放在=的右边。 x = 1 // 命名变量的赋值 *p = true // 通过指针间接赋值 person.name = "bob" // 结构体字段赋值 count[x] = count[x] * scale // 数组、slice或map的元素赋值 特定的二元算术运算符和赋值语句的复合操作有一个简洁形式,例如上面最后的语句可以重写为: count[x] *= scale 这样可以省去对变量表达式的重复计算。 数值变量也可以支持++递增和--递减语句(译注:自增和自减是语句,而不是表达式,因此x = i++之类的表达式是错误的): v := 1 v++ // 等价方式 v = v + 1;v 变成...阅读全文

博文 2016-09-10 13:00:02 迪克猪

和为S的连续正数序列

题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 示例: 输入:target = 9 输出:[[2,3,4],[4,5]] 思路 1.这道题可以使用“滑动窗口”+“双指针”的思想解决。 2.设置两个指针,这两个指针用于标识目前所属的范围。 当前范围内的和,可以通过等差数列的求和公式 sum=(low+high)(high-low+1)/2* 求出 当sum>target时,low指针右移 当...阅读全文

博文 2020-03-03 00:33:08 youzhihua