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

用记事本写一个go的helloworld,带有中文,执行go run 时提示“ invalid UTF-8 encoding”,求大神指点

编译过程如下: E:\005GitHub\GoStudy>go run TestGo.go # # command-line-arguments #.\TestGo.go:6:27: invalid UTF-8 encoding ``` package main import "fmt" func main(){ fmt.Printf("hello world.你好,世界!") } ``` 在使用Pycharm中的Go语言插件进行编译不会出现问...阅读全文

Go - 以任意类型的slices作为输入参数(译)

文:Go – taking slices of any type as input parameters 译者:youngsterxyf 最近参与的一个业余项目,go-linq,让我了解到Go语言的类型系统并不是为任何类面向 对象编程而设计的。没有泛型,没有类型继承,也没有提供任何对这些特性有用的东西。 但是,提供了一个名为interface{}的类型,你可以向其赋予几乎任意类型的值,不会抛出编译错误,就像.NET的Object或Java的Object: var o interface{} o := 3.14 o := Student{Name: "Ahmet"} 我们假设你需要一个可以接收任意类型slices的函数,如果考虑如下这样实现: func Method(in []interfac...阅读全文

博文 2014-11-05 09:52:11 youngsterxyf

基于 MySQL 的新一代分布式关系型数据库RadonDB

RadonDB 是青云(QingCloud)基于 MySQL 研发的新一代分布式关系型数据库,于 5 月 10 日开源。 RadonDB 不仅支持分布式事务,全面兼容 MySQL,还能够实现容量与性能无限水平扩展,具备金融级数据强一致性,满足企业级核心数据库对大容量、高并发、高可靠及高可用的苛刻要求。此外,还支持智能化自动分表、自动扩容及自动运维,大幅减轻数据库运维压力。 此次开源的 RadonDB 包括 Radon 和 Xenon 两个子项目,其中: Radon 即 RadonDB 的 SQL 层实现,具有分布式事务与无限可扩展的功能; Xenon 是存储层的高可用工具,使用 Raft 选举算法与 MySQL Binlog 并行复制技术,实现后端 MySQL 集群的金融...阅读全文

5亿次请求,95万QPS HTTPS CC攻击——阿里云云盾抗下全球最大DDoS攻击

5亿次请求,95万QPS HTTPS CC攻击——阿里云云盾抗下全球最大DDoS攻击 3月29日, 阿里云正式对外发布《2015下半年云盾互联网DDoS状态和趋势报告》。报告披露,去年11月,阿里云安全团队成功防御了黑客对阿里云平台上某互联网金融用户发起的超大规模HTTPS/SSL CC流量攻击,此次攻击也是迄今为止全球有统计数据最大的HTTPS SSL/CC攻击。 作为国内最大的公共云计算服务提供商,大量网站选择阿里云的安全防护,也因此为国内客户防御了当前互联网上主要的攻击行为。 攻击者从11月5日下午14点开始针对网站开始发起攻击,出现两次波峰分别在14点10和晚上7点30左右,总攻击量达到了5亿次请求。 ![1攻击请求QPS变化.jpg](http://stu...阅读全文

Gartner首推机密计算:阿里云名列其中

近日,全球信息技术研究机构Gartner发布了2019年云安全技术成熟度曲线报告(Gartner, Hype Cycle for Cloud Security, 2019, Jay Heiser, Steve Riley, 23 July 2019),首次将机密计算(confidential computing)列入其中,阿里云因在机密计算领域的诸多实践被列为典型厂商,且是亚太唯一云服务商。 技术成熟度曲线(The Hype Cycle),又称技术循环曲线,指的是企业用来评估新科技的可见度,利用时间轴与市面上的可见度决定要不要采用新科技的一种工具。1995年,Gartner开始每年推出各领域的技术成熟度曲线。 2019年,Gartner首次将机密计算列入其中,并作为云安全技术模型中最初始的一...阅读全文

博文 2019-08-22 17:32:55 阿里云官网

golang生成JSON及解析JSON

一、JSON解析到结构体 在介绍这部分之前先简要介绍一下Json语法 JSON 语法是 JavaScript 语法的子集。JSON 语法是 JavaScript 对象表示法语法的子集。 数据在名称/值对中 数据由逗号分隔 大括号保存对象 中括号保存数组 1.JSON名称/值对 "name" : "value" 2.JSON值 可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在中括号中) 对象(在大括号中) null JSON数据 JSON 数字可以是整型或者浮点型 { "age":30 } JSON对象 JSON 对象在大括号({})中书写: 对象可以包含多个名称/值对: { "name": "runoob", "alexa": 10000, ...阅读全文

博文 2019-02-24 17:34:42 不屈真实

专访小邪:从十年技术之路看阿里技术体系的变革

摘要: 从2008年到2018年,从阿里巴巴中间件团队到飞天八部——小邪与阿里的十年。 编者按:从2008年到2018年,从阿里巴巴中间件团队到飞天八部——小邪与阿里的十年。 2008年4月,小邪正式入职阿里巴巴,首次接触淘宝商城项目开启了其十年的阿里技术生涯,去年12月加入阿里云,任飞天八部掌门人。本文邀请到小邪进行了专访,就其在阿里十年的经历进行了深入的访谈,此外他还分享了阿里的技术发展史以及他的职业生涯感悟。 阿里云研究员、飞天八部掌门人蒋江伟(花名:小邪),原阿里巴巴中间件团队负责人。 一切从淘宝商城谈起 小邪加入阿里正值淘宝商城(现天猫)公测阶段,而这也是他来到阿里的第一个项目。这几乎是一个和淘宝并行的项目,工程之浩大可想而知,当时小邪主要负责品牌...阅读全文

大数据岗位分类

我们正处于一个大数据飞速发展的时代,我们所做的一切事,不论是在互联网中或者是互联网之外,都会留下数字的痕迹。大数据技术应用也越来越广泛,对于大数据人才的需求也越来越大。 如果你学的是大数据,那么恭喜你,你的发展良机来了。你将有可能成为大数据工程师,走向人生巅峰。 目前国内大数据工程师工作领域大致可分为四类: 1、**数据开发工程师**:负责数据接入、数据清洗、底层重构,业务主题建模等工作;大数据整体的计算平台开发与应用; 2、**数据分析师**:在拥有行业数据的电商、金融、电信、咨询等行业里做业务咨询,商务智能,出分析报告。 3、**数据挖掘工程师**:在多媒体、电商、搜索、社交等大数据相关行业里做机器学习算法实现和分析。 4、**科学研究方向**:在高校...阅读全文

寻找同道人-go语言开发

我们的目标:建立自己的艺术电商平台 我们的语言:golang 我们的要求:热爱go语言。致力于go语言开发。 我们希望你有:2年及以上GoLang开发工作经验,1年以上Golang服务器端开发经验 我们能给你的:可以在GO语言方面得到的提升及发挥,有可以探讨并且共同成长的同事,有施展的平台与空间,富有艺术气息的工作环境,舒适良好的生活环境,当然还有很优渥的薪资待遇。 有意愿的小伙伴,快来联系我吧! QQ:1439922309 0571-8168116...阅读全文

Gogland如何编译项目

项目中一共两个类,main.go调用了cmd.go中的方法。但是在编译的时候,说找不到cmd.go中的方法。看网上的文章,需要设置Run/Debug Configuration,但是按照文章做完之后,发现如下报错。 ![1489632129.png](http://studygolang.qiniudn.com/170316/1ee933517040ca4ea258f7347bd46dfe.png) 我项目的结构和Run/Debug Configuration的设置如下: ![1489632185(1).png](http://studygolang.qiniudn.com/170316/28510c1febe7481dff6ae6cc6e3f6577.png) ![...阅读全文

阿里云携领先SDN能力,亮相全球网络技术盛会ONS

摘要: 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。知名IT...阅读全文

Red Hat: API层是微服务架构成功的关键

Microservices作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。但大部分围绕microservices的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。 企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,microservices被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。 最近一场关于“容器技术和虚拟机是否是实现微服务的最佳技术”的辩论在加州硅谷的OpenStack Silicon Valley上进行。 正方是容器更轻、更快的部署;反方是虚拟机是更成熟的技术,并且在不同工作负载之间可以提供更好的隔离。 但这场辩论有些没抓住要点,根据Red H...阅读全文

vim tagbar gotags无效,求大神答疑

![1.png](http://studygolang.qiniudn.com/151119/df8a3d0ae3e8f84ae5575051fad1c9e8.png) tagbar装上了 ![3.png](http://studygolang.qiniudn.com/151119/77642b703d66049b435da5c797e5babd.png) gotags也装上了 ![4.png](http://studygolang.qiniudn.com/151119/715fe1563d4a608d1fff654d08f0a5ee.png) vimrc配置文件 ![2.png](http://studygolang.qiniudn.com/151119/45c0c81b01f...阅读全文

GO語言基礎教程:流程控制

在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package main import ( "fmt" ) func main(){ var x,y int=1,2 { var x int=2 { var x int=3 fmt.Println(x,y) //首先輸出3,2 如果我把這行輸出語句注解掉,大家猜猜會如何? } fmt.Println(x,y) //其次輸出2,2 } fmt.Println(x,y) //最後輸出1,2 } 執行結果我已經加到註釋內了,其實沒必要好奇,GO語言就是如此,這種突然出現的大括號構成了複合語句,大括號內的變量作用範圍只能在變量內部,這就涉及到變量的作用...阅读全文

go语言的hashmap

go语言中map的数据结构,以下只摘取了关键的几个属性: struct Bucket { uint8 tophash[BUCKETSIZE]; // top 8 bits of hash of each entry (0 = empty) Bucket *overflow; // overflow bucket, if any byte data[1]; // BUCKETSIZE keys followed by BUCKETSIZE values }; struct Hmap { uint8 B; // log_2 of # of buckets (can hold up to LOAD * 2^B items) byte *buckets; // array of 2^B Bucket...阅读全文

博文 2015-05-18 03:00:01 richmonkey

go使用protobuf如何判断接收到的数据?

我是刚学go的小白,最近参考golang服务器写了一个通讯程序,golang作为服务器用tcp连接unity3d,传输消息用的是protobuf。但是目前遇到一个问题就是客户端发送消息过来(有可能是各种消息,角色移动,角色请求,角色死亡等)服务器这边如何判断具体应该是哪一个消息呢?我给消息加了消息头原本是想通过消息头判断的,但是才发现protobuf在反序列化的时候就必须指定类型了,例如: mp := &message.ConnetInf{} err := proto.Unmarshal(data, mp) 反序列化时必须指定mp是我发送的ConnetInf消息。但是目前问题是在我不确定mp是什么类型的时候该如何反序列化呢?不知有没有做过的大神给指点一两句。谢谢了T ...阅读全文

Go怎么操作h5的localStorage缓存

急求大神告诉,Go能不能操作h5的localStorage,如果能怎么清除localStorage缓存的数据,如果不能,该怎么办?在退出登录的时候清除localStorage缓存。下面是退出代码,怎加上清除localStorage func Logout(c *middleware.Context) { c.SetCookie(setting.CookieUserName, "", -1, setting.AppSubUrl+"/") c.SetCookie(setting.CookieRememberName, "", -1, setting.AppSubUrl+"/") c.Session.Destory(c) c.Redirect(setting.AppSub...阅读全文

【互联网早报】2017.12.07

## 国内新闻 1.定了!微信公众平台全面开放原创和留言功能 http://www.ebrun.com/20171206/258077.shtml 2.新零售解决方案提供商「企加云」完成A轮融资,阿里巴巴领投 http://36kr.com/p/5096162.html ## 国际新闻 1.比特币突破13000美元,加密货币市场估值超摩根大通 http://tech.sina.com.cn/i/2017-12-06/doc-ifypnyqi1262086.shtml 2.六家公司接洽万达旗下连锁影院AMC,有意投资或收购影院 http://36kr.com/p/5106705.html 3.App...阅读全文

做国内的 Docker 的 “灵雀云” 获千万美元级 A 轮融资,未来将进入美国市场

灵雀云向 36 氪独家透漏,近日完成千万美元级 A 轮融资,由宽带资本领投,高榕资本跟投。 如36 氪之前报道,灵雀云在做国内的 Docker 部署平台。 究竟什么是 Docker? 灵雀云CEO 左玥概括到,比起虚拟机来说,容器技术是一种轻量级虚拟化技术,而 Docker 是在容器技术的基础上提供的标准镜像格式。也就是说,Docker 是一个有标准的容器,相当于云计算领域的 “集装箱”,可以承载后端的各种技术。 正如集装箱在运输领域起到的作用,本来运输的人是要在各种运输工具上装载各种东西的,而有了集装箱之后,只需要把东西放在集装箱里面,运输工具承载集装箱就可以了。同样的道理,之前运维人员要直接面对各种环境进行部署,如今在 Docker 这个 “集装箱” 里部署就可以...阅读全文

关于推送,你可能忽略的那些事儿

推送是维持APP留存率最重要的方法之一,但是大多数APP开发者都没有正确意识到推送的意义,也没有建立起一套评估Push质量的方法。推送是一个典型的双刃剑,如果使用的好可以帮你提升留存率,可是使用不当,甚至滥用将会成为你APP的噩梦。但是不幸的是,我看到的大多是推送的不当使用。 1. 给用户一个允许推送的理由 之前看过一篇文章讲的很好,大概的意思是说你要任何事情的时候都请给一个需要的理由。作为APP开发者我们都知道,用户很少会反悔从前做过的设置。我举个简单的例子,如果用户在最初的时候禁止你访问他的通讯录,可能你就再也没有机会访问他的通讯录了。同理,如果用户最初的时候禁止你的推送消息,那么你可能就再也没有机会去为用户发送推送通知了。 所以在希望用户授予推送权限时,一定要给用户一个清...阅读全文

世界最大手机电脑制造商招聘DevOps, 3年GO经验,上海

Key Qualifications - Strong background in Linux/Unix Administration - Experience with automation/configuration management using either Puppet, Chef, Salt or an equivalent - Ability to use a wide variety of open source technologies and cloud services - 3+ years building robust HTTP API's and other backend services using any or all of the follo...阅读全文

golang中new和make区别

golang 中有两个内存分配机制 :new和make,二者有明显区别. new:用来初始化一个对象,并且返回该对象的首地址.其自身是一个指针.可用于初始化任何类型 make:返回一个初始化的实例,返回的是一个实例,而不是指针,其只能用来初始化:slice,map和channel三种类型 package main import ( "fmt" ) func main() { a := new([]int) fmt.Println(a) //输出&[],a本身是一个地址 b := make([]int, 1) fmt.Println(b) //输出[0],b本身是一个slice对象,其内容默认为0 } 通过这个例子可以看出,当对slice,map以及channel进行初始化时,使用make比n...阅读全文

博文 2015-06-17 20:02:37 chenbaoke

使用容器,企业可以更快更好地赚钱

容器技术基于传统的容器虚拟化技术,采取了一种全新的应用打包理念,让整个云计算产业为之颤抖。它能够为开发人员提供几乎相同的开发、测试、预发布和生产环境。同时得益于容器为微服务提供的恰到好处的抽象,容器技术对传统大型软件的解耦也有一套优雅的解决方案。从云平台提供商的角度来看,容器技术简化了混合云的实现,而将负载的变化扔给更上层处理。去年以来,已经有许多云平台厂商将Docker集成到核心云服务上。 ### 托管服务提供商(HSP)——提高投资回报率(ROI) HSP在很多年前就已经认识到容器的好处,目前他们采用这项技术提高ROI。 与传统虚拟机相比,容器虚拟化允许HSP在相同的硬件上放置更多应用程序,对于他们的客户而言,也不存在性能退化,因为容器更轻量,分配但未使用的资源可以共享给其...阅读全文

Go 1.10目前进入feature Freeze状态,近期Russ Cox大神提交了两个Cls

cmd/go:make rebuild logic content-based instead of time-based 和 cmd/go: build cache, test cache, go install, go vet, test vet https://groups.google.com/forum/#!msg/golang-dev/qfa3mHN4ZPA/X2UzjNV1BAAJ 前者让rebuild基于源文件内容而不是源文件的modify time;后者为Go build等添加cache,加速首次之后的编译过程,从初步自测结果来看,rebuild的过程加速明显。 ![](https://wx4.sinaimg.cn/mw690/6caa654fly1fl6...阅读全文

为什么公司要从Scala转到Go?

Jim Plush是网络安全服务提供商CrowdStrike的云工程高级总监。CrowdStrike由McAffee的前CTO George Kurtz及前副总裁Dimitri Alperovitch于2011年创建。Scala是CrowdStrike内部使用的主要语言。2011年,Jim主导了Scala的使用。在加入CrowdStrike之前,Jim就职的Gravity公司也是Scala重度用户。前段时间,他们将技术栈从Scala转向了Go。Jim Plush从技术总监的角度介绍了这种变化。随着业务增长,公司的工程师从5个增长到200多个。需要考虑的是,如何让code base便于维护,工程师可以轻松跨项目交流,新人能够快速上手。几年前,Jim曾遇到一个问题。当时产品中出现了一个会影响大量...阅读全文

博文 2016-08-10 14:00:01 abv123456789

关于json解析的问题,求教各位大神

您好,我刚学golang,有个解析json的问题请教各位,谢谢了,我写了以下代码,s1和s2的值能够得到,但是s3中的p1和p2的值不知如何解析到: var filterInfoList map[string]interface{} strFilter := `{"s1":"ddd","s2":"ppp","s3":[{"p1":"ok1"},{"p2":"ok2"}]}` err := json.Unmarshal([]byte(strFilter), &filterInfoList) if err != nil { fmt.Println("error in translating,", err.Error()) return } fm...阅读全文

五站合一对企业营销有什么作用?

所谓五站合一也就是电脑网站+手机站+微站+APP+小程序,五站数据同步,管理统一,也就是说只要在某一个网站录入一次数据,五站数据自动同步,降低人力维护工作量,五站合一用途很多,那么针对企业营销有什么作用? 电脑网站(PC网站) 1、PC网站能展现企业全面详细的信息,体现企业文化形象、企业品牌实力; 2、目前仍然是最主流的网站建设方式和网站推广方式; 3、相对其他类型网站,页面可以更多样化,提供更为丰富详尽的页面信息,展现力更强大; 4、网站更有视觉效果,提高用户体验。 ![1.jpg](https://static.studygolang.com/180425/f7a9613f7af9dc7c976a3286f86d292b.jpg) 手机网站 1...阅读全文

阿里云媒体转码MTS使用教程

课程介绍 媒体转码(ApsaraVideo for Media Transcoding)是为多媒体数据提供的转码计算服务。它以经济、弹性和高可扩展的音视频转换方法,将多媒体数据转码成适合在PC、TV以及移动终端上播放的格式。适用于音视频网站、在线教育、金融视频、电商视频等多种场景。 产品详情:https://www.aliyun.com/product/mts 课时列表 • 课时1:如何开通媒体转码服务 • 课时2:媒体转码服务计费说明 • 课时3:如何提交单个转码任务 • 课时4:如何配置媒体工作流 • 课时5:如何使用媒体工作流提交转码任务 开始学习http://click.aliyun.com/m/27882/ ...阅读全文

go-mysql,一个易用的mysql接口框架实现

介绍 go-mysql是一个用go写的mysql driver,使用接口类似于go自身的database sql,但是稍微有一点不同,现阶段还不支持集成进go database/sql中,但实现难度并不大,后续可能会接入。 go-mysql最先开始于mixer(一个用go实现的mysql proxy)中,随着mixer的演化,我觉得有必要将其mysql模块独立出来使用。对于mixer,后续我会详细介绍。 为什么要自己实现一套新的接口,而不是go自身的sql接口呢?最主要的原因在于我很不习惯使用Query的查询方式。go自身的query例子: age := 27 rows, err := db.Query("SELECT name FROM users WHERE age=?", age) i...阅读全文

博文 2014-10-15 00:19:21 siddontang

状态变换 | 我的代码没有else

嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「状态模式」如何在真实业务场景中使用。 「状态模式」比较简单,就是算法的选取取决于于自己的内部状态。相较于「策略模式」算法的选取由用户决策变成内部状态决策,「策略模式」是用户(客户端)选择具体的算法,「状态模式」只是通过内部不同的状态选择具体的算法。 什么是「状态模式」? 不同的算法按照统一的标准封装,根据不同的内部状态,决策使用何种算法 「状态模式」和「策略模式」的区别 策略模式:依靠客户决策 状态模式:依靠内部状态...阅读全文