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

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

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

小米监控系统 OpenFalcon

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

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

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

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

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

解读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运行时系统和标准库...阅读全文

规则引擎研究(一)——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 小爽的老公

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

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

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 写之后就没这个问题了...阅读全文

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

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

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

[笔记] 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,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

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

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

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

Kafka 消费者滞后检查 Burrow

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

排序算法详解(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

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

Hello-golang

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

golang/PHP输出excel

以前输入excel的时候utf8总是乱码还是用其他方式把utf8转换为gbk才能显示,呵呵,其实是输出了csv,后来群里的朋友说需要utf8 BOM Excel才能正常识别utf8,今天测试了一下,很爽,比以前省了好几行代码.呼呼 BOM信息参考: http://zh.wikipedia.org/wiki/位元組順序記號 golang实现: package main import ( "os" "encoding/csv" ) func main() { f, err := os.Create("haha2.xls") if err != nil { panic(err) } defer f.Close() f.WriteString("\xEF\xBB\xBF") // 写入UTF-8 B...阅读全文

博文 2017-02-09 16:49:45 小菲儿

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

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

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

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

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

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

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

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数据类型转换方法 学习python课程

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

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 肖楠

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 开发者对 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

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 迪克猪

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.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

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

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

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

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-12 12:00:17 迪克猪

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

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

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

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

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

你可能不知道的的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

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.X 终端连接服务器 X.X.X.X是IP地址 (1)ubuntu指令 addgroup 用户组名 centOS指令 可以用groupadd 用户组名 (2)useradd -g 用户组 用户名 adduser -g 用户组 用户名 同样 centOS ubuntu (usermod -g 用户组 用户名 //将已有用户加入到已有用户组) (3)passwd 用户名 设置用...阅读全文

博文 2018-12-05 17:34:54 酱酱酱酱_1bbc

QuickBI助你成为分析师-数据门户权限相关

摘要: 数据门户也叫数据产品,起到菜单作用来展示数据,您可以使用数据门户功能构建例如经营分析系统应用等。在创建数据门户时常遇到报表权限问题,请参考本文。 数据门户也叫数据产品,起到菜单作用来展示数据,您可以使用数据门户功能构建例如经营分析系统应用等。在创建数据门户时常遇到报表权限问题,下面针对几个场景分别分析: 场景一 产品标准版是针对个人开发场景,不支持多用户协同开发,但是有时会遇到要求其他用户查看到自己的数据门户,又可以针对仪表板查看进行权限限制。那么问题来了:数据门户支持分享操作,但是分享操作,被分享者可以查看数据门户中所有仪表板,如果才能做到查看部分仪表板限制呢? 1.创建仪表板 创建‘各区域年度利润金额分析’、‘用户订单详情’仪表板。 ![TB1...阅读全文

[uber-zap/part3]自定义记录器

说明 之前翻译的一个教程(没有备份原地址,梯子被封了)。原地址找到后补上 正文 zap 提供的字段编码器并一定完全合适自己的需求,比如:希望日志记录的输出和syslog或者其他常见的日志格式类似;可能希望日志中的时间戳忽略秒;将日志包含在方括号内等,这时候就需要自定义编码器了 性能因素 你可以自定义编码器time,leve,caller等。需要注意的是,编码器要尽可能高效,因为这是zap的内存、性能上的优势,毕竟每个日志行都要调用这些函数。所以要避免创建临时变量或者进行任何高强度的计算。 也就是说,下面的例子只是一个示范,不一定就是默认功能的最佳替代品。 自定义时间戳格式 这是一个常见的syslog格式的实现 func SyslogTimeEncoder(t time.Time, enc z...阅读全文

博文 2019-03-30 14:34:39 小龙虾

Rust学习笔记4 面向对象编程

github地址:https://github.com/bradyjoestar/rustnotes pdf下载链接:https://github.com/bradyjoestar/rustnotes/blob/master/Rust%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0.pdf 参考: https://rustcc.gitbooks.io/rustprimer/content/ 《RustPrimer》 https://kaisery.github.io/trpl-zh-cn/ 《Rust程序设计语言-简体中文版》 4.1 面向对象数据结构 4.1.1 元祖 元祖表示一个大小、类型固定的有序数据组。 let y = (2...阅读全文

博文 2019-07-05 19:32:51 bradyjoestar

三数之和

三数之和 题目 题目来自: 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

以太坊数据结构MPT

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 MPT(Merkle Patricia Tries)是以太坊存储数据的核心数据结构,它是由Merkle Tree和Patricia Tree结合的一种树形结构,理解MPT有助于我们更好的理解以太坊的数据存储。在了解MPT数据结构之前,我们需要先来看看基本的Tree结构和Merkle Tree、Patricia Tree。 Trie字典树  Trie树,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。 上图是一棵Trie树,表示了字符串集合{“a”, “to”, “tea”, “ted”, “ten”, “...阅读全文

博文 2019-09-24 13:32:48 链客