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

诸神之战 | 赛事升级,4.1亿元奖金纳入浙江赛区奖项权益

浙江的创业者们看过来:总计4.1亿元政策及现金奖励;知名媒体360°专访报道;数千万元融资对接,构成了2017诸神之战(浙江赛区)3D立体化奖项设置,你不容错过! 奖项及奖励 一、浙江赛区奖项及奖励设置 1、浙江赛区决赛冠军 1)工商注册在中国(杭州)人工智能小镇且入驻办公的,可享受以下奖励政策: 50万元杭州未来科技城专项资金奖励; 三年最高600方免租金办公场地; 三年最高600万元研发补助; 领军型人才最高300万元安家费补助; 三年最高45万元云服务补助; 三年最高6万元创新券补助; 硕士、博士一次性生活补贴及人才竞购车牌补助; 金融支持:最高500万元创业贷风险池;最高150万元天使梦想基金;最高2000万元让利性股权投资引导基金。 2)3...阅读全文

golang的net/url包

package url import "net/url" url包解析URL并实现了查询的逸码,参见RFC 3986。 Index func QueryEscape(s string) string func QueryUnescape(s string) (string, error) type Error func (e *Error) Error() string type EscapeError func (e EscapeError) Error() string type URL func Parse(rawurl string) (url *URL, err error) func ParseRequestURI(rawurl string) (url *URL, err er...阅读全文

博文 2014-10-04 19:26:39 刘地

golang中的加密方式总结

缘起 因为项目中使用mysql的AES_DECRYPT方法,欲使用golang实现该方法, 但是研究了半天没明白怎么回事, 最后才发现golang当前默认支持CBC的方式,但是mysql当前使用的是ECB模式, 所以需要使用者分组分块加密,特总结一下golang中的各个加密算法 关于密码学 当前我们项目中常用的加解密的方式无非三种.对称加密, 加解密都使用的是同一个密钥, 其中的代表就是AES非对加解密, 加解密使用不同的密钥, 其中的代表就是RSA签名算法, 如MD5、SHA1、HMAC等, 主要用于验证,防止信息被修改, 如:文件校验、数字签名、鉴权协议 AES AES:高级加密标准(Advanced Encryption Standard),又称Rijndael加密法,这个标准用来替代...阅读全文

博文 2018-10-20 19:34:42 pengj

Golang加密系列之RSA

Golang加密系列的最后一篇,嗯,RSA涉及的概念太多,弄了好久才搞清楚。。。 代码的结构如下图 PS:StarUML这玩意在Mac上所有连到Interface的线都变成直线了...我很惆怅... 定义一个对外开放的接口 package rsa import "crypto" type Cipher interface { Encrypt(plaintext []byte) ([]byte, error) Decrypt(ciphertext []byte) ([]byte, error) Sign(src []byte, hash crypto.Hash) ([]byte, error) Verify(src []byte, sign []byte, hash crypto.Hash) ...阅读全文

博文 2015-11-06 15:00:09 君子藏锋

区块链3.0时代:你现在所有的认知将会被颠覆

从区块链的价值被发现,到区块链应用实际落地之前,区块链一直是个概念性的东西。虽然各大媒体报刊将区块链炒得沸沸扬扬的,世界上诸多国家也对区块链给出了相应的重视,但是除了一些专业人士,很少有人知道它究竟有多重要。麦肯锡公司最近向美国联邦保险咨询委员会提交了一份区块链技术报告,报告把2009年以2016年称为“黑暗时代”,其间所有区块链解决方案都基于比特币,而区块链的新时代将从2016年开始,超过100种区块链技术解决方案已被探索。这意味着区块链已经走出了概念性阶段,接下来就将会跨入区块链3.0时代,真正融入到我们的生活当中了。那么摆脱概念定义进入3.0时代,真正融入到我们的生活中去,并呈井喷式发展的区块链,对当今社会的影响又有多大呢?澳大利亚BTL公司主席John Joseph Foley表示,...阅读全文

博文 2017-08-08 10:05:15 北邮区块链张权

区块链+5G=智慧城市?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 智慧城市是一个非常大的产业范畴,同时包括面向政府的智慧治理、面向市民的智慧民生和面向产业的智慧经济三大板块,涵盖了智慧政务、智慧环保、智慧安防、智慧交通、智慧教育、智慧医疗、智慧生活、智慧企业等数十个场景。 智慧城市场景的实现依靠多种技术的综合运用,从信息数据的采集、整合、发布和分析,最后反馈到实际应用场景中。能够实现这一过程并在智慧城市中广泛应用的技术有:物联网、云计算、生物识别、地理空间技术、区块链、人工智能。这些技术相互配合,从上至下共同筑起智慧城市的技术基础。 一、智慧城市应用场景与技术架构 支撑智慧城市的技术首先就看物联网(IOT)和地理信息系统(GIS),这两大产业链的上层建筑成型都需要依赖于5G网络...阅读全文

Golang学习笔记--log包

个人站:http://www.cloudnoter.com/?p=137 一、快速使用 Golang的log包短小精悍,可以非常轻松的实现日志打印转存功能。不用多说,log支持并发操作(即协程安全-相对于JAVA中的线程安全而言),其结构定义如下: type Logger struct { mu sync.Mutex // ensures atomic writes; protects the following fields prefix string // prefix to write at beginning of each line // 日志行前缀 flag int // properties // 日志打印格式标志,用于指定每行日志的打印格式 out io.Writer // ...阅读全文

博文 2015-06-17 20:03:44 cza55007

图数据库及应用场景

**欢迎大家前往[腾讯云+社区](https://cloud.tencent.com/developer/?fromSource=waitui),获取更多腾讯海量技术实践干货哦~** > 本文由[腾讯云数据库 TencentDB](https://cloud.tencent.com/developer/user/1002332?fromSource=waitui)发表于[云+社区专栏](https://cloud.tencent.com/developer/column/1551?fromSource=waitui) 近年来,企业上云已经成为一种潮流和趋势,河南省政府也出台了《河南省“企业上云”行动计划(2018-2020年)》,怎么使用好云,怎么用好底层云数据库也成为了一个新的课题。 腾讯...阅读全文

博文 2018-10-16 11:53:28 qcloudcommunity

简单的Restful API例子(Golang)

RESTful API 这玩意不用多说了,用Go做了个很简单的例子: 服务端在被调用时返回JSON, 客户端解析得到相关JSON信息. 服务端源码: package main //简单的JSON Restful API演示(服务端) //author: Xiong Chuan Liang //date: 2015-2-28 import ( "encoding/json" "fmt" "net/http" "time" ) type Item struct { Seq int Result map[string]int } type Message struct { Dept string Subject string Time int64 Detail []Item } func getJ...阅读全文

博文 2015-06-17 20:17:24 xcltapestry

Golang汇编快速指南

本文翻译自Golang官方文档,原文地址: https://golang.org/doc/asm 这篇文档是对于Go编译器套件(6g, 8g, etc.)中不常用的汇编语言的快速预览,涵盖面不是很广泛。 Go的汇编语言基于Plan 9的汇编,Plan 9网站的页面上有详细描述。如果你想编写汇编语言,你应该读这篇文档,虽然它是Plan 9相关的。这边文档总结了汇编的语法,并且描述了使用汇编语言和Go程序交互时的特殊之处。 有一点是很重要的是,Go的汇编中没有直接体现出底层的机器。有些汇编细节能直接对应到机器,但有些不是。这是因为编译器套件在常规过程中不需要汇编语言。取而代之的是,编译器产生二进制的不完整的汇编指令集,链接器会完成它。实际上,链接器做了汇编指令的选择,所以当你看到类似于MOV这样...阅读全文

博文 2015-04-24 17:37:04 华子

NSQ:分布式的实时消息平台

NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub,其当前最新版本是0.3.1版。NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息,其设计目标是为在分布式环境下运行的去中心化服务提供一个强大的基础架构。NSQ具有分布式、去中心化的拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征。NSQ非常容易配置和部署,且具有最大的灵活性,支持众多消息协议。另外,官方还提供了拆箱即用Go和Python库。如果读者兴趣构建自己的客户端的话,还可以参考官方提供的协议规范。 NSQ是由四个重要组件构成: nsqd:一个负责接收、排队、转发消息到客户端的守护进程 nsqlookupd:管理拓扑信息并提供最终一致性的发...阅读全文

博文 2015-05-05 11:09:59 李小兵

[Go]通过HTTP获取信息返回JSON

用 HTTP.GET 从开放 API 中查询深圳通信息,然后将 JSON 数据存入结构体中,再格式化输出。注意:获取的并不是实时的深圳通信息Warm upstrconv.ParseUint: 解析无符号的数值字符串func ParseInt(s string, base int, bitSize int) (i uint64, err error)参数1 数字的字符串形式参数2 数字字符串的进制:二进制、八进制、十进制、十六进制参数3 返回结果的bit大小,也就是int8 int16 int32 int64encoding/json.Unmarshal: 解析 JSON 编码的数据json.Unmarshalgo-simplejson代码// 从开放的 Api 中查询深圳通相关信息。 // ...阅读全文

博文 2015-06-18 19:00:34 abv123456789

【5782】LION 01days作业 #黑科技增长训练营#

一、课程脑图 二、拆解练习 活动拆解:海报:信任背书:大班长已免费领取稀缺:嘉宾演讲合集,原创内容价值,回报:可获取策略,心得资料,可与大咖交流的机会不足:没有时间紧迫性活动流程: 活动应该是已过期,没看到具体裂变引导信息。 流程(推测)为: 关注公号 -》公号欢迎词中, 提示分享“海报”方可获取资料 -》用户转发分享海报 -》 当代言海报有人扫码,公号推送 资料下载链接 活动亮点: 使用内容作为福利,精准导粉。 可复用部分: 使用专业内容导粉,兑付路径短易操作, 并且导粉精准公司拆解:百度可获取如下信息:阿拉丁公司专注于为微信小程序提供专业的第三方统计平台,以安全、独立、公正的态度作为原则和公司最高信条,服务于微信小程序的开发、运营、市场、创始人等生态从业者。主营业务除了基础统计工具,还覆...阅读全文

博文 2019-01-09 01:34:47 LION_WX

golang 编译后文件变小的方法

总有人说Go程序“好大”,一个Hello World都1M多。其实,随着程序源码越来越大,编译后的文件并非那么快速的增长,这点大小真心没必要那么在乎,又不是软盘时代。但总有一些人非得想要小点。 首先我们看一下为什么会比其他语言大些: Go 编译的可执行文件都包含了一个运行时(runtime),和我们习惯的Java/.NET VM有些类似。 运行时负责内存分配(Stack Handing、GC Heap)、垃圾回收(Garbage Collection)、Goroutine调度(Schedule)、引用类型(slice、map、channel)管理,以及反射(Reflection)等工作。Go程序进程启动后会自动创建两个goroutine,分别用于执行main入口函数...阅读全文

Go 各版本回顾

![Illustration created for “A Journey With Go”, made from *the original Go Gopher, created by Renee French.](https://raw.githubusercontent.com/studygolang/gctt-images2/master/Go-Retrospective/00.png) 对每一个开发者来说,Go 的发展历史是必须知道的知识。了解几年来每个发行版本的主要变化,有助于理解 Go 的设计思想和每个版本的优势/弱点。想了解特定版本的更详细信息,可以点击每个版本号的链接来查看修改记录。 ## [Go 1.0](https://blog.golang.org/go-versio...阅读全文

博文 2020-05-05 11:42:29 lxbwolf

服务发现:Zookeeper vs etcd vs Consul

【编者的话】本文对比了Zookeeper、etcd和Consul三种服务发现工具,探讨了最佳的服务发现解决方案,仅供参考。 如果使用预定义的端口,服务越多,发生冲突的可能性越大,毕竟,不可能有两个服务监听同一个端口。管理一个拥挤的比方说被几百个服务所使用的所有端口的列表,本身就是一个挑战,添加到该列表后,这些服务需要的数据库和数量会日益增多。因此我们应该部署无需指定端口的服务,并且让Docker为我们分配一个随机的端口。唯一的问题是我们需要发现端口号,并且让别人知道。 当我们开始在一个分布式系统上部署服务到其中一台服务器上时,事情会变得更加复杂,我们可以选择预先定义哪台服务器运行哪个服务的方式,但这会导致很多问题。我们应该尽我们所能尽量利用服务器资源,但是如果预先定义每个服务的部署位置,那么...阅读全文

博文 2015-09-20 10:39:43 国会山上的猫TuxHu

深圳威新软件园, 招聘GO高级开发工程师

米亚印乐科技公司专注在线教育电子课堂Saas产品,在直播培训领域已部署"米亚公开课"产品,提供有多种终端展现形式和课程运用模式。我们的目标是提供可覆盖全球的优质教育资源分享平台。团队骨干成员主要来自腾讯,已获得PreA轮千万级人民币的创投,投资方拥有雄厚的行业资源### [我们能提供的]薪酬待遇:22~30k节假日福利绩效考核职位晋升丰厚期权### 岗位职责: 1. 负责后台系统设计开发;2. 参与需求分析和实施;### 岗位要求:1. 本科及以上学历,3年以上工作经验;2. 精通PHP/C++/Go其中至少一门语言 ;3. 熟悉Mysql数据库开发,Redis;4. 熟悉HTTP、Websocket协议;5. 熟练使用Linux系统, Git代码版本管理;6. 良好的沟通协作能力及团队合作...阅读全文

博文 2018-09-21 17:14:37 www82500466

Intellij idea14安装google-go-lang-idea-plugin插件无法指定sdk的解决办法

idea14 和go1.4不兼容,一直报这样一个错Argument for @NotNull parameter 'virtualFile' of com/intellij/openapi/projectRoots/impl/ProjectRootContainerImpl.addRoot must not be null 解决办法: google-go-lang-idea-plugin 插件虽然好,但是官方的编译版总是更新很慢,所以需要自己编译,问了老外才知道怎么编译,编译方法如下: I opened this project in IDEA Community 13 (or whatever the latest EAP is), then choose the SDK as the p...阅读全文

博文 2015-02-03 19:00:03 qq_19969471

Golang面试题解析

最近在很多地方看到了golang的面试题,看到了很多人对Golang的面试题心存恐惧,也是为了复习基础,我把解题的过程总结下来。 面试题 1. 写出下面代码输出内容。 package main import ( "fmt" ) func main() { defer_call() } func defer_call() { defer func() { fmt.Println("打印前") }() defer func() { fmt.Println("打印中") }() defer func() { fmt.Println("打印后") }() panic("触发异常") } 考点:defer执行顺序 解答: defer 是后进先出。 panic 需要等defer 结束后才会向上传递。 出...阅读全文

博文 2017-09-12 03:49:17 梦朝思夕

诸神之战创客大赛 致精英创业者的一封信

各位精英创业者: 你是否还在为满腹才华无人交流而苦闷?你是否还在为创业好项目无人知晓而忧虑?金秋九月,阿里云创客+诸神之战创客大赛盛大开启,只为精英的你而来! 阿里云创客+诸神之战创客大赛是由阿里云创客+主办,联合国内知名媒体、知名创投机构、数十家国家级园区共同打造的基于“互联网”的精英团队创业大赛。大赛历时4个月(7-10),将于京津、上海、深圳、哈尔滨、长沙、福州、杭州全国7个分赛区同时比拼,同时各分赛区精英更有机会在10.15杭州云栖大会现场路演,与投资人面对面沟通,一展创业者的风采! 1.直击大赛亮点:  精英竞技:精英打造的项目以及团队同台竞技,碰撞出以往创业大赛中不一样的火花。  风投直达:全球知名创投机构齐聚一堂,只为寻找精英中的精英  区域覆盖:...阅读全文

在Golang中,Log打印行号等信息

做个小笔记, 默认情况下,log模块的只打印日期和时间, 没具体行号,比较不爽,嘿嘿 package main /* #include */ import "C" import "log" func main() { log.SetFlags(log.Lshortfile | log.LstdFlags) log.Println( C.random()) } 打印结果: 2012/07/24 19:27:55 X.cgo1.go:14: 1804289383 其中, log.Lshortfile 还可以设置为log.Llongfile 即完整文件路径 获取当前行数,文件名,函数名(方法名): package main import ( "runtime" "fmt" )...阅读全文

博文 2014-11-07 17:31:35 Wendal Chen

golang中的string

一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据,但是通常是用来包含人类可读的文本。 len()返回字符串字节数目(不是rune数)。 通过索引可以访问某个字节值,索引大于等于0小于len(str)。越界会panic。索引不是不是对应的字符而是对应的字节,因为有有非ASCII的UTF8字符有多个字节。 s := "hello, world" fmt.Println(len(s)) // "12" 英文字符占一个字节 fmt.Println(s[0], s[7]) // "104 119" ('h' and 'w') 字符串截取与链接 fmt.Println(s[:5]) // "hello" fmt.Println(s[7:]) // "world" fmt.Println(s[...阅读全文

博文 2019-07-02 23:32:41 XITEHIP

区块链基础入门

一、区块链产品概览 1.1 区块链产品及 区块链产品主要有:底层平台、开放平台、应用场景 1.2 区块链产品特点 底层平台 通用基础设置 与业务场景无关 技术门槛较高 多技术结合:分布式存储+点对点网络+密码学等等 开放平台 与业务场景相关性低 面向区块链应用开放者 起步探索阶段,成熟产品相对较少 应用场景 可应用的领域和场景广泛 与业务场景密切相关 具有可拓展性 易形成价值网络 二、底层平台 底层平台有:公有链、 联盟链、私有链 2.1 底层平台-公有链 向全世界所有人开放,每个人都能成为系统中的一个节点参与记账的区块链,它们通常将激励机制和加密数字验证相结合,来实现对交易的共识。 2.2 底层平台-联盟链 若干个机构共同参与记账的区块链,即联盟成员之间通过对多中心的互相信任来达成共识。联...阅读全文

第一届数据论坛在沪举行,数据宝与上海天律签订战略合作协议

2016年12月16日,第一届数据智能与算法革命高峰论坛暨马克威算法交易平台发布会于在上海国际会议中心隆重召开。国家级大数据资产运营平台chinadataPay.com中国数据宝公司副总裁张培作为特邀嘉宾参会并与政府领导、企业高管及高校院士等各领域专业人士一起共同探讨数据智能的发展方向及算法对各行各业的影响。    据了解,马克威算法交易平台是为各行各业的分析人员提供互联网化的分析算法工具和应用模型。其关键技术在于将数据分析和挖掘算法以及行业应用模型开发成独立封装、适应各种运行环境、可以通过互联网交易的知识产品,打造了一个汇集全球所有能公开获得的算法库和行业应用模型库,助力整个中国智能化的发展,同时也为有创造力的算法研究人员提供了知识变现的平台。   当大数据和算法成为...阅读全文

数据宝专场研讨会•贵安国际数字经济论坛•2017数博会圆满成功

2017年5月24日,2017数博会•贵安国际数字经济论坛•数据宝专场研讨会在北斗湾开元酒店多功能厅召开。本次数据宝专场研讨会以“共享•价值•大数据•大开放——大数据的流通与融合之美”为主题,由数据宝董事詹臻女士主持,会议分三个专题进行,分别是领导致辞、嘉宾演讲以及圆桌会议。 贵安新区管委会主任助理洛伟,国家工业信息安全发展研究中心(工业和信息化部电子第一研究所)副总经济师黄永金,中科院生物医药大数据中心主任李亦学教授,贵州数据宝网络科技有限公司董事长汤寒林,中国电信天翼征信有限公司产品总经理刘昊,中国联通智慧足迹数据科技有限公司首席营销官赵华,国家交通运输物流信息平台数据产品部总监董磊,中国电信医疗行业信息化应用(上海)基地常务副总经理谢青宇,中国金融行业自律联盟秘书长崔宏毅,江西服...阅读全文

vscode安装go插件

1.安装go语言支持插件 安装go语言支持插件.jpg 2.安装代码提示补全等插件 执行完第一步后,重启vscode,当你创建一个go源码文件之后,vscode右下角会弹出提示框,如下图 安装插件.jpg 选择全部安装,安装结果如下图 安装失败.jpg 其中有些插件会安装失败. 3.安装失败插件处理 在你的$GOPATH/src/golang.org/x目录下从github上下载插件源码,如果没有该文件夹则自己创建即可.执行命令如下: git clone https://github.com/golang/tools.git tools git clone https://github.com/golang/lint.git lint 执行完成后.jpg 手动安装插件失败的插件.例如我要安装...阅读全文

博文 2019-06-01 18:04:39 一个菜鸟JAVA

这是从云栖大会指挥部发回的现场报道

摘要: 今年云栖大会不仅是“科技世博会”,还是全民的狂欢会。科技,音乐,运动,三者的结合为本次大会带来了不一样的Feel。 8天“超级黄金周”结束,杭州送走了1100万游客,但随着2017年云栖大会的开幕,又即将迎来世界各地4万多位开发者、创业者、以及科学家、行业先锋们。 从中国地方与行业网站峰会、阿里云开发者大会到云栖大会,历经8年的不断进化,云栖大会已经成长为了全球最具影响力的科技展会之一。 距离2017年杭州云栖大会还有2天,阿里妹带你走进云栖小镇,提前感受这场史无前例的科技盛宴。 云栖小镇迎来一年一度的科技盛宴 为了迎接来自全球的客人,本次“飞天·智能”云栖大会启用了刚刚建成的云栖国际会展中心二期,建筑面积扩大了近3倍,达到了6.6万平方米。大会...阅读全文

Beego,Go基于 Beego 博客的博客系统

学习beego时候开发的一个博客系统,在持续完善,有不足之处,望大佬们多多体谅,并且指出。感谢! ## Go Blog [![GitHub stars](https://img.shields.io/github/stars/1920853199/go-blog)](https://github.com/1920853199/go-blog/stargazers) [![GitHub forks](https://img.shields.io/github/forks/1920853199/go-blog)](https://github.com/1920853199/go-blog/network) [![GitHub license](https://img.shields....阅读全文

开源项目 2020-08-12 10:47:44 chenli

Golang错误和异常处理的正确姿势

Golang错误和异常处理的正确姿势错误和异常是两个不同的概念,非常容易混淆。很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误。从表面上看,一切皆错误的思路更简单,而异常的引入仅仅增加了额外的复杂度。但事实并非如此。众所周知,Golang遵循“少即是多”的设计哲学,追求简洁优雅,就是说如果异常价值不大,就不会将异常加入到语言特性中。 错误和异常处理是程序的重要组成部分,我们先看看下面几个问题: 错误和异常如何区分? 错误处理的方式有哪几种? 什么时候需要使用异常终止程序? 什么时候需要捕获异常? ... 如果你对这几个问题的答案不是太清楚,那么就抽一点时间看看本文,或许能给你一些启发。 face-to-exception.p...阅读全文

博文 2017-11-28 14:00:01 zhangboyu

Golang,kafka实现消息推拉

Kafka的安装与启动 kafka中涉及的名词 消息记录:由一个key,一个value和一个时间戳构成,消息最终存储在主题下的分区中,记录在生产中称为生产者记录,在消费者中称为消费记录。Kafka集群保持了所有发布的消息,直到它们过期,无论消息是否被消费了,在一个可配置的时间段内,Kafka集群保留了所有发布的消息。比如消息的保存策略被设置为2天,那么在一个消息被发布的两天时间内,它都是可以被消费的。Kafka的性能是和数据量无关的常量级的,所以保留太多数据并不是问题 生成者:生产者用于发布消息 消费者:消费者用于订阅消息 消费者组:相同的groupID的消费者将视为同一个消费者组,每个消费者都需要设置一个组id,每条消息只能被consumer group中的一个Consumer消费,但是可...阅读全文

博文 2019-01-25 14:34:47 Carrism

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

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

Golang的GC信息

一、GC信息的信息收集 设置环境变量GODEBUG=gctrace=1。 使用方法,如果程序为myserver。正常的启动方法为./myserver,如果需要收集GC信息启动方式如下GODEBUG=gctrace=1 ./myserver。 二、GC信息分析 gc5(6): 11+12+357+77 us, 0 -> 1 MB, 4294 (5261-967) objects, 67/2/0 sweeps, 6(115) handoff, 6(9) steal, 170/56/5 yields gc5(6):表示第5次GC,共有6个线程参与GC。 11+12+357+77 us:表示停止各个goroutine花费时间是11us,释放标记对象所有时间为12us,扫描标记可回收对象花费时间为25...阅读全文

博文 2015-03-27 20:00:01 lyhuzi

Redigo--Go连接Redis

本文主要介绍go Web开发中操作redis。 Redigo是go连接Redis的扩展包,用此包时需先执行: go get github.com/garyburd/redigo/redis 安装完后,在文件中导入redigo即可。 连接redis的样例如下: [html] view plaincopy import ( "fmt" // 导入redigo扩展包 "github.com/garyburd/redigo/redis" ) // 从配置文件获取redis配置并连接 host := beego.AppConfig.String("redis_host") db, _ := beego.AppConfig.Int("redis_db") // tcp连接redis rs, err :=...阅读全文

博文 2015-10-25 21:00:06 wkyb608

如何实现支持数亿用户的长连消息系统 | Golang高并发案例

360消息系统介绍 360消息系统更确切的说是长连接push系统,目前服务于360内部多个产品,开发平台数千款app,也支持部分聊天业务场景,单通道多app复用,支持上行数据,提供接入方不同粒度的上行数据和用户状态回调服务。 目前整个系统按不同业务分成9个功能完整的集群,部署在多个idc上(每个集群覆盖不同的idc),实时在线数亿量级。通常情况下,pc,手机,甚至是智能硬件上的360产品的push消息,基本上是从我们系统发出的。 关于push系统对比与性能指标的讨论 很多同行比较关心go语言在实现push系统上的性能问题,单机性能究竟如何,能否和其他语言实现的类似系统做对比么?甚至问如果是创业,第三方云推送平台,推荐哪个? 其实各大厂都有类似的push系统,市场上也有类似功能的云服务。包括我...阅读全文

博文 2016-01-31 01:00:10 RandyLeonard

理解 Go 语言中的 panic 输出

我的代码有一个 bug。? ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x751ba4] goroutine 58 [running]: github.com/joeshaw/example.UpdateResponse(0xad3c60, 0xc420257300, 0xc4201f4200, 0x16, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/joeshaw/example/resp.go:...阅读全文

博文 2017-11-24 23:40:15 polaris

golang在编译时用ldflags设置变量的值

我们经常会在一些程序的输出中看到程序版本、编译时间、Git的commit id等信息,比如docker ming@vultr:~$ docker version Client: Version: 1.12.5 API version: 1.24 Go version: go1.6.4 Git commit: 7392c3b Built: Fri Dec 16 02:42:17 2016 OS/Arch: linux/amd64 ... 我们可以提供一个配置文件version.conf,程序运行时从version.conf取得这些信息进行显示。但是在部署程序时,除了二进制文件还需要额外的配置文件,不是很方便。 或者将这些信息写入代码中,这样不需要额外的version.conf,但要在每次编译时...阅读全文

博文 2017-02-11 17:00:28 冥灭

RESTful API 设计最佳实践

本文由 伯乐在线 - bruce-accumulate 翻译。未经许可,禁止转载!英文出处:Vinay Sahni。欢迎加入翻译小组。 背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你不得不殚精竭虑的设计和实现自己app的public API部分。因为一旦发布,对外发布的API将会很难改变。 在给SupportedFu设计API的时候,我试图以实用的角度来解决上面提到的问题。我希望可以设计出容易使用,容易部署,并且足够灵活的API,本文因此而生。 AP...阅读全文

博文 2015-03-05 13:28:27 伯乐在线

Go语言中怎样判断数据类型_不懂的木匠_新浪博客

要判断数据类型,可以用Go的空接口: 建一个函数t 设置参数i 的类型为空接口,空接口可以接受任何数据类型 func t(i interface{}) { //函数t有一个参数i switch i.(type) { //多选语句switch case string: //是字符时做的事情 case int: //是整数时做的事情 } return } i.(type)只能在switch中使用 这函数没有返回值,你可以自己加入 ---------------------------------------------------------------------------- 还可以用反射: package main import ( "fmt" "reflect" ) func main(...阅读全文

博文 2015-09-22 03:00:01 ftm-datablogs

golang使用服务发现系统consul

本文的完整代码见 https://github.com/changjixiong/goNotes/tree/master/consulnotes ,如果文中没有显示链接说明链接在被转发的时候被干掉了,请搜索找到原文阅读。consul是什么"Consul is a distributed, highly available, datacenter-aware, service discovery and configuration system. It can be used to present services and nodes in a flexible and powerful interface that allows clients to always have an up-to...阅读全文

博文 2017-06-08 03:47:27 changjixiong

区块链的商业应用:超级账本(Hyperledger)

背景 超级账本(Hyperledger)是linux基金会下的众多项目中的一个。是由IBM、因特尔,还有金融公司,GP摩根以及其他联合机构于2015年提出来的区块链项目,超级账本还包括4个框架项目:Sawtooth、Iroha、Fabric、Burrow。其中广为人知的是Fabric。当前成员大约140个,其中1/4来自中国,现在中国技术组由万达、华为、IBM担任主要负责,负责中国会员和中国需求的提供,以及推进代码。 超级账本是什么? 正如Hyperledger官方网站上的描述,这一项目的目标是发展一个跨行业的开放式标准以及开源代码开发库,允许企业创建自定义的分布式账本解决方案,以促进区块链技术在商业当中的应用。 我的理解,超级账本Fabric是一门编程语言,它定义了编程标准,函数库等基础规...阅读全文

博文 2017-06-23 14:07:18 乔延宏

如何基于Go搭建一个大数据平台

大家下午好!我是来自七牛云大数据团队的党合萱。今天向大家介绍一下我们是如何基于Go搭建大数据平台的。七牛的大数据的产品——Pandora首先介绍一下七牛的大数据的产品——Pandora,我们的目的是提供简单、高效和开放的大数据平台。图 1 是我们的工作流,提供实时计算和离线计算。我们的数据流实时进来之后可以到下游的实时数据服务,最常见的场景是提供日志搜索和机器性能监控,就是看到的仪表盘(图2),还有就是基于 spark 做一些实时数据分析。 图1图 2图 3图 4 是整个Pandora业务上的架构图。数据打进系统之后先落地到消息队列,落地之后有一个计算任务,数据经过计算之后还可以再次落地到消息队列。这个过程很灵活,比如可以选择最左边的一条线把数据直接倒出到下游的系统,图1上的示例是一个HTT...阅读全文

博文 2017-10-18 01:15:33 党合萱

Golang中Error处理方案

error 与 try catch 对比 有人说err写得繁琐,而我却觉得更准确,清晰。更明确的说明这个函数可能有错,提示程序猿需要显示处理。 当然在使用err之前,我也没觉得java那样的try catch有什么问题,不过现在我更喜欢err。 我们来对比一下两者的优劣,从写法和排错方法两个方面。 写法 在编写被调用函数方两者基本差别不大,一边需要写err 一边需要throw。 在调用方try的方式可以一次捕获多个thower,而err就需要繁琐的写多次。 当然try也有坏处,try会导致代码缩进一层。 排错 try看问题必须看错误堆栈,而我发现堆栈中80%的字母都是无用的。 而err的错误信息就一行,清晰明了。 那有人说了,就一行这么少信息,怎么定位是谁调用了它,怎么确定入参是什么才引起的...阅读全文

博文 2018-11-05 04:34:39 bysir

用FileInfo.sys()获取文件的详细信息

使用os.Stat()获取FileInfo类型的数据后,我们就可以获取文件的信息,但信息也限于 type FileInfo interface { Name() string // base name of the file Size() int64 // length in bytes for regular files; system-dependent for others Mode() FileMode // file mode bits ModTime() time.Time // modification time IsDir() bool ...阅读全文

gorilla/mux类库解析

golang自带的http.SeverMux路由实现简单,本质是一个map[string]Handler,是请求路径与该路径对应的处理函数的映射关系。实现简单功能也比较单一: 1. 不支持正则路由, 这个是比较致命的 2. 只支持路径匹配,不支持按照Method,header,host等信息匹配,所以也就没法实现RESTful架构 而gorilla/mux是一个强大的路由,小巧但是稳定高效,不仅可以支持正则路由还可以按照Method,header,host等信息匹配,可以从我们设定的路由表达式中提取出参数方便上层应用,而且完全兼容http.ServerMux ##使用事例 ``` r := mux.NewRouter() //与http.ServerMux不同的是mux.Router是完全的...阅读全文

博文 2016-06-11 16:41:09 shanks

热烈庆祝数据宝平台上线一周年:月销售额超300万元首创佳绩,大数据行业首战告捷

2016年8月8日,数据宝网站上线仪式暨大数据双创平台发布会在国家级新区,贵安新区隆重举行,贵州省委常委、常务副省长秦如培发表重要讲话,宣告着数据宝平台的正式上线运营。 数据宝在这一年里创下月销售额超300万,接入15个部委央企一手权威数据、推出6个拳头应用场景产品,得到近1000多位政府领导莅临指导以及建立一支专业技能高、研发能力强的500人专业团队的骄人业绩。 2017年8月8日的今天,是数据宝平台上线一周年的日子,这匹大数据行业的最大黑马,一年间的发展历程是怎样的,又给行业递交了一份怎样的成绩单? 出身不凡:近1000多位领导干部参观指导 大境界才能有大胸怀,大格局才大有作为。“首个省部共建的大数据资产运营平台”是数据宝的slogan,也是数据宝平台的格局定位。...阅读全文

兼职Go Web工程师招募

项目背景 今天人工智能正作为新的引擎改变着我们的生活、从本质上来说人工智能是利用大数据提高人类生产力的工具。 我们团队致力于智慧城市、智慧校园、智慧医疗等项目的研发。 团队内有众多相关领域顶尖大牛,期待你的加入。 职责: 1.参与智慧校园大型项目的研发; 2.负责部分后台模块开发; 要求: 1.本科及以上学历,计算机相关专业; 2.三年以上后端开发经验; 3.拥有扎实的编程能力,掌握常见数据结构,掌握Golang语言; 4.至少在以下一个领域里有开发经验:机器学习、人工智能、运筹学、统计学、自然语言处理、图像处理、医疗信息学、机器人学 5.学术论文或专利的记录以及研究成果转化的经验者优先 6.至少熟悉一种SQL; 7.有团队协作精神。有责任感,有较好的沟通能力,主...阅读全文

Go 系列教程 —— 30. 错误处理

欢迎来到 [Golang 系列教程](https://studygolang.com/subject/2)的第 30 篇。 ## 什么是错误? 错误表示程序中出现了异常情况。比如当我们试图打开一个文件时,文件系统里却并没有这个文件。这就是异常情况,它用一个错误来表示。 在 Go 中,错误一直是很常见的。错误用内建的 `error` 类型来表示。 就像其他的内建类型(如 `int`、`float64` 等),错误值可以存储在变量里、作为函数的返回值等等。 ## 示例 现在我们开始编写一个示例,该程序试图打开一个并不存在的文件。 ```go package main import ( "fmt" "os" ) func main() { f, err := os.Open("/test.txt"...阅读全文

博文 2018-03-31 22:49:56 heyulong

Go语言的分词器(sego)

今天,主要来介绍一个Go语言的中文分词器,即sego。本分词器是由陈辉写的,他的微博在这里,github详 见此处。由于之前他在Google,所以对Go语言特别熟悉。sego的介绍如下 sego是Go语言的中文分词器,词典用前缀树实现, 分词器算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。 分词速度单线程2.7MB/s,goroutines并发13MB/s, 处理器Core i7-3615QM 2.30GHz 8核。 接下来,以如下几个方面来介绍sego 1. sego的安装 2. sego的原理 3. sego的使用 1. sego的安装 首先,在Go语言中,有很多第三方包,可以帮助我们实现某些特定的功能。比如这里...阅读全文

博文 2015-03-26 23:00:08 ACdreamers

如何用Go打造亿级实时分布式出行平台|文末福利

前言Grab是东南亚最大的出行平台,业务覆盖东南亚7个国家39个城市,APP下载量高达3600000次。随着业务量的持续增长,为了解决系统性能瓶颈,打造一套高可用的系统架构,Grab 从最开始的 rails、nodejs 到完全转向 Go。除了全部的后台服务,每天支撑亿万级数据处理的流式数据系统也是基于 Go 打造的。本文来自 Grab 高级工程师高超在 Gopher China 2017大会上的精彩分享,以下是对他演讲内容的整理。Grab是一家东南亚出行平台,致力于解决东南亚人民的出行问题。Grab 的主要市场是东南亚,我们也没有进军中国市场的打算,我们和滴滴是战略合作伙伴的关系。Grab 成立于2011年,目前在东南亚7个国家都有运营,覆盖了39 个城市。目前有710000位司机,360...阅读全文

博文 2017-08-17 15:27:01 高超

线上Golang程序 GC调优一例

13 Nov 2013 线上Golang程序 GC调优一例 Golang 是一个很有意思的语言,第一次看它介绍时,就很喜欢。半年前加入美团,有机会用它写了几个线上程序。其中一个程序Router,每天需要转发几千万的请求。由于需要根据请求内容决定route路径,它需要加载几十万deal(美团单)的信息到内存供查询。问题来了,用map装的几十万数据让gc很辛苦。 Deal数据 // Deal的定义 type DealTiny struct { Dealid int32 Classid int32 Mttypeid int32 Bizacctid int32 Isonline bool Geocnt int32 } gc停顿 用go写一个简单的Web程序,设置GOGCTRACE环境变量为1后启动程...阅读全文

博文 2014-11-03 14:42:37 沈锋