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

go语言的chan

chan是一个FIFO队列,chan分成两种类型同步和异步同步的chan完成发送者和接受者之间手递手传递元素的过程,必须要求对方的存在才能完成一次发送或接受异步的chan发送和接受都是基于chan的缓存,但当缓存队列填满后,发送者就会进入发送队列, 当缓存队列为空时,接受者就会接入等待队列。 chan的数据结构: struct Hchan { uintgo qcount; // total data in the q uintgo dataqsiz; // size of the circular q uint16 elemsize; uint16 pad; // ensures proper alignment of the buffer that follows Hchan in mem...阅读全文

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

《The Way to Go》中文版《Go入门指南》

**《The Way to Go》**经原作者授权今日起以每日一小节的进度开始翻译,中文名**《Go入门指南》**。 本书以开源书籍的形式分享在Github上,提供给有需要的Go语言爱好者。 如果有翻译不当的地方,还望大家能够 **pull request** 以为本书提供更好的翻译质量。 repo地址:[https://github.com/Unknwon/the-way-to-go_ZH_CN][1] [1]: https://github.com/Unknwon/the-way-to-go_ZH_C...阅读全文

Go 系列教程 —— 19. 接口(二)

欢迎来到 Golang 系列教程的第 19 个教程。接口共有两个教程,这是我们第二个教程。如果你还没有阅读前面的教程,请你阅读[接口(一)](https://studygolang.com/articles/12266)。 ### 实现接口:指针接受者与值接受者 在[接口(一)](https://studygolang.com/articles/12266)上的所有示例中,我们都是使用值接受者(Value Receiver)来实现接口的。我们同样可以使用指针接受者(Pointer Receiver)来实现接口。只不过在用指针接受者实现接口时,还有一些细节需要注意。我们通过下面的代码来理解吧。 ```go package main import "fmt" type Describer int...阅读全文

博文 2018-02-01 15:44:37 heyulong

Golang 的数组指针和指针数组

Golang 的数组指针和指针数组听上去有点乱不太好理解 但是自己动手敲一下 就一眼可以看出区别了 package main import "fmt" func main(){ x,y := 1, 2 var arr = [...]int{5:2} //数组指针 var pf *[6]int = &arr //指针数组 pfArr := [...]*int{&x,&y} fmt.Println(pf) fmt.Println(pfArr) } 可以看出代码中 数组指针 pf 的值得到的是一个指向arr 地址的一个指针 而指针数组 pfArr 则是一个数组内的元素全是指针类型 一下是打印出来的结果 &[0 0 0 0 0 2] [0xc04204a080 0xc04204a088...阅读全文

博文 2017-11-04 14:03:15 Mading_EVE

golang arm 交叉编译

set GOOS=linux set GOARCH=arm cd go/src make.bat cd .. cp bin/%GOOS%_%GOARCH% %GOROOT%/bin -r cp pkg/%GOOS%_%GOARCH% %GOROOT%/pkg -r cp pkg/tool/%GOOS%_%GOARCH% %GOROOT%/pkg/tool -r 使用百度手机助手,开启USB调试:点击多次“版本号”,开发者选项->启用USB调试 使用百度手机助手的bdadb.exe shell,进入后su,手机上赋予root权限 cp /sdcard/download/linux_hello /data/ chmod 777 /data/linux_hello (sdcard是fat32格式,...阅读全文

博文 2015-03-17 09:00:01 chuqingq

为什么“王者荣耀”让你那么上瘾?

敌军还有5秒钟到达战场,请做好准备!研究产品,“王者荣耀”为什么这么火?它的用户成长体系是怎样的?用户到底是怎么上瘾的?作为产品经理,有哪些是可以借鉴学习的! 本文的小编将从Hooked上瘾模型,全面分析《王者荣耀》到底是怎么一步步让用户上瘾的。 王者荣耀和Hooked模型 王者荣耀 有人说,已经可以根据玩王者荣耀的程度分为三类人:不玩王者荣耀的人;玩王者荣耀,但不严重影响学习和工作的人;玩王者荣耀,但不能自拔、后果严重的人。 先来看看几组数据:根据腾讯互娱发布会的数据,“王者荣耀”注册用户已超过2亿,日活用户超8000万,每7个人就有一个在玩,手游王者荣耀已经成为中国游戏的王者游戏;根据极光大数据显示:你有2亿战友,也有2亿敌人!如今王者荣耀渗透率达到22.3%,其中女性占比54.1%,2...阅读全文

博文 2017-10-02 16:34:47 星火燎原

如何编写一个分布式数据库

大家好, 我是开源项目 分布式 NewSQL 数据库 TiDB 和 分布式缓存 Codis 的 创始人 刘奇, 之前在京东, 豌豆荚做 infrastructure 相关的事情, 现在在创业 (PingCAP), 方向是分布式数据库. 最近如果有朋友关注开源社区或者HackerNews 的话,可能会发现一个叫 TiDB 的数据库项目吸引了一些眼球(https://github.com/pingcap/tidb ) 。 这是我们开源的第一个东西,短短几天得到了过千Star,特别感谢大家的支持和鼓励。 今天主要介绍一下 NewSQL 与 TiDB 的设计实现, 未来的一些 Roadmap 以及 一些做开源项目的心得。 大家可能经常用数据库,但是很少写一个数据库(实在是有点 hardcore),今...阅读全文

博文 2015-09-24 10:26:00 刘奇

golang:实现thrift的client端协程安全

前言 Golang作为我们服务端开发的主要语言,实现了很多基础服务,比如oauth2,账户系统,支付,客服等。而在早期开发阶段,也尝试使用golang做页面展示,但每种语言都有自己最擅长的领域,让golang来搞前端实在是有点疼,最终我们选择php+golang的方式来作为整体的服务架构。 那么问题来了,php和golang这对好基友如何愉快的玩耍呢?结论是thrift是块好肥皂! 抛砖 市面上肥皂一大堆,最著名的是舒肤佳,那么我们为毛不用舒肤佳,而选择thrift呢。。。因为够酸爽! 这种酸爽,只有牙口好,才能吃嘛嘛香。众所周知,thrift有多种型号(传输协议),比如家用型的TDebugProtocol,持久型TBinaryProtocol还有爆炸型TCompactProtocol。 而...阅读全文

博文 2014-10-17 23:17:15 郝冠伟

进军人工智能,ai拼才会赢

2017的第一个月,已经让无数人类开始怀疑人生。错综复杂的人类大脑,终究败给了人工智能。当谷歌官宣横扫人类60局的Master其实就是升级版的AlphaGo的时候,人类对大脑的最后一点期待幻灭。 人工智能(AI)的概念已经火了两年,去年的乌镇互联网大会上,百度CEO李彦宏为了测试无人车,让工程师在马路上对无人车进行拦截,无人驾驶正式走进大众视野。一说到人工智能,大家会首先联想到有一个机器人的存在,其实,人工智能可不止在机器人上应用。 ![20170109172406_96866.jpg](http://studygolang.qiniudn.com/170110/8ee942f45dfcf80a7b804b97192fb41c.jpg) 过海关时的人像识别,开车时导航的路况...阅读全文

golang连接kafka

golang连接kafka的例子好少,而支持offset追踪者更少,但也是基础的要求。”github.com/bsm/sarama-cluster”结合“github.com/Shopify/sarama”满足了此要求。 环境: golang 1.7 kafka 0.10 centos7.2 package main import ( "fmt" "os" "strings" "time" "github.com/Shopify/sarama" "github.com/bsm/sarama-cluster" //support automatic consumer-group rebalancing and offset tracking "github.com/golang/glog" )...阅读全文

博文 2016-11-05 03:00:01 dazheng

golang获取调用者的方法名及所在源码行数

package main import "runtime" import "log" func main() { test() } func test() { test2() } func test2(){ pc,file,line,ok := runtime.Caller(2) log.Println(pc) log.Println(file) log.Println(line) log.Println(ok) f := runtime.FuncForPC(pc) log.Println(f.Name()) pc,file,line,ok = runtime.Caller(0) log.Println(pc) log.Println(file) log.Println(line) log....阅读全文

博文 2015-02-04 03:00:00 wangxusummer

golang x.(type) 用法

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> golang中x.(type)只能在switch中使用 func MyPrintf(args ...interface{}) { for _, arg := range args { switch arg.(type) { case int: fmt.Println(arg, "is an int value.") case string: fmt.Println(arg, "is a string value.") case int64: fmt.Println(arg, "is an int64 value.") default: fmt.Println(arg, "is an unknown type....阅读全文

博文 2018-09-01 14:33:12 Robin3D

Go中error类型的nil值和nil

先看C语言中的类似问题:空字符串。 1 const char* empty_str0 = ""; 2 const char* empty_str1 = "\0empty"; 3 const char* empty_str2 = NULL; 以上3个字符串并不相等,但是从某种角度看,它们都是对应空的字符串。 empty_str0 指向一个空的字符串,但是empty_str0本身的值是有效的。empty_str1 指向一个非空的字符串,但是字符串的第一个字符是'\0'。empty_str2 本身是一个空的指针。 Go的error是一个interface类型,error的nil问题和C语言的字符串类似。 参考官方的error文档说明: http://golang.org/doc/go_faq.ht...阅读全文

博文 2014-11-05 13:00:01 kjfcpua

阿里云栖大会展示中国计算力量 吸引全球2万开发者参与

10月14日-15日,阿里云2015云栖大会Computing Conference在杭州召开。大会吸引了来自全球约2万名开发者参加。阿里云及其合作伙伴在大会上发布了一系列新的云计算技术,200多家云上企业展示了量子计算、人工智能等前沿科技。 大会由杭州市政府和阿里巴巴集团联合主办,阿里云承办,共设置两个主论坛、约30场分论坛和3场开发者大赛。浙江省省长李强、阿里巴巴集团董事局主席马云出席大会并发表主题演讲。 作为中美技术差距最小的行业之一,中国的计算力量已全面参与到全球的竞争中。云栖大会则是中国计算力量的一次集中展示。作为中国最大的云计算服务平台,阿里云重塑了开发者获取计算资源的方式,帮助创新创业者面向全球提供服务。 创业进入“快消时代” 契合与“互联网、创新、创业...阅读全文

Golang 中函数和方法的区别

golang 函数以及函数和方法的区别 原创 2016年12月11日 20:12:54 4363 在接触到go之前,我认为函数和方法只是同一个东西的两个名字而已(在我熟悉的c/c++,python,java中没有明显的区别),但是在golang中者完全是两个不同的东西。官方的解释是,方法是包含了接收者的函数。到底什么意思呢。 首先函数的格式是固定的,func+函数名+ 参数 + 返回值(可选) + 函数体。例 func main() { fmt.Println("Hello go") } 在golang中有两个特殊的函数,main函数和init函数,main函数不用介绍在所有语言中都一样,它作为一个程序的入口,只能有一个。init函数在每个package是可选的,可有可无,甚至可以有多个(但...阅读全文

博文 2018-01-23 22:33:04 coder_kev

为什么Go在中国这么流行?

文章根据谷歌的trends,国内Go相关网站的Alexa以及Baidu的golang搜索排名等分析Go在中国流行的可能原因。其中提到本社区:studygolang.com 是中国Go社区的领跑者。 看到这篇文章很激动,很久没有维护该社区了,接下来会好好维护,争取做成Golang在国内最好、最大的社区。 文章地址:[why-is-go-popular-in-china](http://herman.asia/why-is-go-popular-in-china) ...阅读全文

D、GO、Rust 谁会在未来取代 C?为什么?

不要管我的地位和 D 语言创造者之一的身份。我会坦诚的回答这个问题。我熟悉 Go 和 Rust,并且知道 D 的缺点在哪里。我鼓励人们在 Rust 和 Go 社区相似职位的人可以提出他们诚恳的观点。接着,我们开始吧。 首先,C++ 应该放在问题的哪个位置。不管它是否取代 C,或是成为取代 C 的候选人之一,C++ 是这个等式的一个关键部分。它是最接近 C 的,同时也是从 C 中来的。在下面几个问题中我会假设 C++ 是把取代 C 作为目标的。 每一个语言都有一些基础优势(我称之为“十倍优势”,因为在一定的基准上比较其他确实效率更高)和数个挑战。这些语言在未来能否取代 C 语言取决于它们如何利用它们的十倍优势,并且如何克服他们的数个挑战...阅读全文

博文 2015-11-10 19:00:00 babybright123, coding12, 你是晴天, 弃天帝, 机智的祺祺, Iam魔方

go中方法的接收者是值或者指针的区别

值类型的变量和指针类型的变量先声明一个结构体:type T struct { Name string } func (t T) M1() { t.Name = "name1" } func (t *T) M2() { t.Name = "name2" }12345678910111234567891011M1() 的接收者是值类型 T, M2() 的接收者是值类型 *T , 两个方法内都是改变Name值。下面声明一个 T 类型的变量,并调用 M1() 和 M2() 。 t1 := T{"t1"} fmt.Println("M1调用前:", t1.Name) t1.M1() fmt.Println("M1调用后:", t1.Name) fmt.Println("M2调用前:", t1.Name...阅读全文

博文 2016-07-27 15:00:02 zlingh

golang中调用C

项目中项目基本是golang,因为以前的一个库不太好用golang重写,所以只能使用cgo来调用,稍微记录一下 看使用文档 重要的事情说多遍都不为过,一定要仔细看文档: https://github.com/golang/go/wiki/cgo 注意cgo的注释和 import “C”之间不能有空行!!! Note that there must be no blank lines in between the cgo comment and the import statement. package main /* #include int test() { return 2016; } */ import "C" import "fmt" func main() { ...阅读全文

博文 2016-05-19 05:00:02 qq_33204116

Golang 通过反射的方式调用结构体方法

在Go语言中,反射就是用来检查储存在接口变量内部pair对的一种机制,pair对是以值(value)和实际类型(concrete type)组成.在go中提供两种方法让我们可以轻松地访问接口变量的内容,分别是 reflect.ValueOf()和 reflect.TypeOf() reflect.ValueOf(i interface{} ) 用来获取输入参数接口中的数据的值,如果接口为空则返回0 reflect.TypeOf(i interface{} ) 用来获取输入参数接口中的值的类型,如果接口为空则返回nil var num float64 = 1.2345 fmt.Println("type : " , reflect.TypeOf(num)) //float64 fmt.Prin...阅读全文

博文 2019-05-09 17:49:38 env107

阿里移动技术 Overview,详解阿里云移动云 Apsara Mobile 前世今生

2017杭州云栖大会阿里移动云峰会暨Apsara Mobile品牌发布会上,阿里资深技术专家天施带来《阿里移动技术Overview》的演讲。本文主要对移动十年进行总结,进而回顾了阿里这几年的移动技术变迁,包括Mobile First & Super APP基本原则、技术创新推动组织升级和阿里云移动云Apsara Mobile整个体系介绍和专有云EMAX服务的开启,最后对移动未来进行了展望。 这是目前我们看到的趋势,移动端和PC端不一样,PC端有GPU,相当于一家独大,移动端的GPU干了很多事情,也没有一个非常集中的,移动端和PC端不一样,移动端都在研究一些专用硬件,大家看到华为、苹果很快跳过了GPU阶段,都谈专用AI芯片。华为今天已经把一些能力开放出来给开...阅读全文

主题 2017-11-09 07:59:43 yuun

golang结构体-对象和指针-函数赋予

1、定义一个结构体type User struct { userid int username string password string} 2、初始化一个结构体 有两种情况,一是得到结构体的对象,一是得到结构的对象指针,分别有三种方式: //第1种方式,先声明对象,再初始化 var player1 Player player1.userid = 1 player1.username = "lina1" player1.password = "123456" //第2种方式,声明同时初始化 player2 := Player{2, "lina2", "123456"} //第3种方式,通过 field:value 形式初始化,该方式可以灵活初始化字段的顺序 player3 := Playe...阅读全文

博文 2018-08-15 20:36:41 amu_lucifer

golang并发编程实践 -- 简单生产者消费者(with chan)

本文简单介绍如何用golang实现经典的生产者消费者模型。 golang语法简洁,凡可以通过几行代码解决的事情,绝不为了解决该问题而在语言中引入不必要的特性。这个和c++正好相反,c++是个庞大的怪物,我这么形容可能很多c++的fans心里要不舒服了,为了让你在看到诸如子类言论时能够心平气和,建议大家使用一下golang吧。本文不是介绍golang编程语言本身的文章,而是从golang如何让并发编程变得容易...阅读全文

博文 2014-10-04 19:26:04 aura521521

go中方法的接收者是值或者指针有什么区别吗?

参考文章:http://studygolang.com/articles/1113 希望解决的问题如下 假设有两个方法,一个方法的接收者是指针类型,一个方法的接收者是值类型,那么: 对于值类型的变量和指针类型的变量,这两个方法有什么区别? 如果这两个方法是为了实现一个接口,那么这两个方法都可以调用吗? 如果方法是嵌入到其他结构体中的,那么上面两种情况又是怎样的? 值类型的变量和指针类型的变量 先声明一个结构体: type T struct { Name string } func (t T) M1() { t.Name = "name1" } func (t *T) M2() { t.Name = "name2" } M1() 的接收者是值类型 T, M2() 的接收者是值类型 *T , 两...阅读全文

博文 2015-06-17 23:08:13 u013790019

基于图搜索Go建云顶之弈S1版本最强羁绊(完整版)

cover.jpg 本文希望读者玩过云顶之弈,不懂编程的可以直接拉到最下面去看结论,懂编程的希望你了解递归、分治、图、堆这些基本概念,并掌握Python或者Go语言。 代码已公开在github上:https://github.com/weiziyoung/TFT ,转载请注明来源。 今天是11月11日,首先恭喜FPX一顿摧枯拉朽横扫G2, 拿下S赛冠军!证明了LPL是世界第一赛区,也让电竞作为一种赛事在这代人心中铭记。本届S赛结束,也就意味着,S8告一段落,S9即将上线。而云顶之弈作为今年刚出的新模式,在上周11月6日也发布了S2元素崛起版本,一时间各种打法也是层出不穷,小编我也是一名忠实的云顶之弈玩家,但目前还没有玩过S2版本,主要想把这篇文章先写好分享给想读的人。 其实早在今年暑假刚出这...阅读全文

GO语言结构体方法跟结构体指针方法的区别

首先,我定了三个接口、一个结构和三个方法: type DeptModeA interface { Name() string SetName(name string) } type DeptModeB interface { Relocate(building string, floor uint8) } type Dept struct { name string building string floor uint8 Key string } func (self Dept) Name() string { return self.name } func (self Dept) SetName(name string) { self.name = name } func (self *D...阅读全文

博文 2017-01-18 16:00:08 tree2013

第二届Gopher大会即将在北京举行,就等你来

去年我们在上海举行了第一届Gopher大会,那一次大会参会人员在500人左右,会后大家都觉得这是参加过的最实在,最物超所值,干货最多的大会。这里有去年参会的人员写的一些回顾,大家可以体会当时的情形 - http://thinkandcode.info/gopherchina2015can-hui-ji-lu/ - http://fuxiaohei.me/2015/4/29/gopher-china-2015.html - http://life.leanote.com/post/gopher-china-2015-my-golang-way 说了那么多,回到我们今年这一届的大会,因为北京可以说是中国的互联网中心,这里有着大量的Go使用者,而且我去年也答应了很多北京的同学,...阅读全文

golang byte 操作

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> byte数组转int // bytes to int 32 func bytesTo32Int(b []byte) int { buf := bytes.NewBuffer(b) var tmp uint32 binary.Read(buf, binary.BigEndian, &tmp) return int(tmp) } // bytes to int 16 func bytesTo16Int(b []byte) int { buf := bytes.NewBuffer(b) var tmp uint16 binary.Read(buf, binary.BigEndian, &tmp) return in...阅读全文

博文 2018-09-01 14:33:13 Robin3D

小米即时消息云 SDKMIMC

小米即时消息云MIMC:xiaoMI Messaging Cloud MIMC是小米自研的一种安全、可靠、易用的分布式IM云服务。为广大开发者提供免费快捷的即时通讯接入服务。MIMC基于多年小米通讯技术积累,让即时通讯不再复杂。 目前开发者可在PC端打开链接小米开放平台查看小米即时消息云的介绍和API接入文档,SDK下载等。 [https://dev.mi.com/console/appservice/mimc.html](https://dev.mi.com/console/appservice/mimc.html) ![image](https://static.oschina.net/uploads/img/201801/30142337_jLhU.jpg...阅读全文

开源项目 2018-12-05 11:30:02 网友

创新者的窘境-技术换代

WechatIMG1.jpeg 昨天在办公室听同事说曾经考试Pascal。 今天早晨听京东的同学说TypeScript是C#之父搞出来的,当然这个哥们当年搞出来Delphi。也就是说Borland公司的大牛创造出来Delphi,当年Delphi的编译速度很像今天的Golang。然后被微软比尔盖茨挖走,创造出来C#,后来这个大牛创造出来TypeScript,源远流长。 早些年有一本书,台湾人李维写的《Borland传》,其中讲述不少Borland、Microsoft、SUN等大佬公司间的恩怨迭代史。 最唏嘘的还是那个网景公司[憨笑]不过 小说嘛,不知道里面杜撰的成分有多少了里面还写了个闻所未闻的王安公司,也非常让人扼腕痛惜。 IT史就这么几十年, 很多事情, 来回的不同重复最好的东西,不见得就...阅读全文

博文 2018-11-09 15:35:36 大眼铅笔

使用go作为RabbitMQ消费者的正确姿势

写在前面 在我们的生产环境中搭了两台rabbitmq, 前面架设了一台HAProxy做负载均衡,当我们的客户端连接到HAProxy,然后由HAProxy负责将链接分配给其中一台rabbitmq,客户端需要需要负责断线重连,需要将获取的数据,分配消息给相应的处理方法,然后还需要回复给rabbitmq ACK,这其中客户端需要负责断线重连的逻辑是很重要的,因为有可能客户端和HAProxy的连接是正常的,但是HAProxy和rabbitmq的链接因为网络波动断开了,那么这个时候客户端其实是没有工作的,并且会在rabbitmq中不断积累消息。 下面的内容给出了一个比较完善的处理逻辑,以供参考。 实战 定义接口 从之前的说明来看,这是一个典型的观察者模式,由RabbitMQ对象负责维护连接,获取消息,...阅读全文

博文 2017-08-13 05:34:53 这里好像没有人

易推宝让客户每天都在搜索引擎找到你!

当今互联网时代,传统地推,已经很难支撑一个企业的销售额。即使在人流量最大的地铁站做地推投硬广,来去匆匆的人潮也只愿意把目光驻足在小小的手机屏幕,忙碌的都市生活让大部分白领下班后直接选择回家。我们坚持最长时间的小习惯,大概就是每天都要看手机不下100次,每天参与贡献数十亿的网络流量…… 因此大部分企业把中心转向网络推广。最常见的方式有百度竞价(SEM)和搜索引擎优化(SEO)。百度竞价是有钱企业玩的游戏,大多本身已经占据了较大的市场份额,即使小企业做百度竞价,除非行业比较冷门,不然,即使你做了竞价也不到一定获得好的排名。SEO成了企业做网络推广最经济实惠的方式,但请一个好的SEO推广花费也不低,做关键词排名效果很难立竿见影,没办法让中小企业在短期提升业绩。经过对上万家中小企业的网络推广现...阅读全文

MQTT 代理 SurgeMQ

SurgeMQ 旨在提供 MQTT 代理和客户端开发包,完全兼容 MQTT sepc 3.1.1,此外尝试兼容 3.1。SurgeMQ 目前开发活跃,在一台 4 核 2.8G i7 处理器的 MBP 上性能可达: * **over 400,000** MPS in a 1:1 单发布者和生产者配置 * **over 450,000** MPS in a 20:1 fan-in configuration * **over 750,000** MPS in a 1:20 fan-out configuration * **over 700,000** MPS in a full mesh configuration with 20 clients ![image](http://st...阅读全文

理解 Go 语言中的方法和接收者

0x01 前言 Go 语言的语法实在有些不一样,与其它面向对象语言相比,Go 的方法似乎有些晦涩。 0x02 方法的定义 在 Go 语言里,方法和函数只差了一个,那就是方法在 func 和标识符之间多了一个参数。 type user struct { name string, email string, } //这是函数的定义 func notify(email string) { fmt.Println("Email is %s", email) } //这是方法的定义 func (u user) notify(email string) { fmt.Println("Email is %d", email) } 我们可以看到,方法是在 func 和 notify 之间多了一个 user ...阅读全文

博文 2017-06-03 09:05:56 daryl

go 中 对方法的认识-相当于类(Class)

0x01 前言Go 语言的语法实在有些不一样,与其它面向对象语言相比,Go 的方法似乎有些晦涩。0x02 方法的定义在 Go 语言里,方法和函数只差了一个,那就是方法在 func 和标识符之间多了一个参数。type user struct { name string, email string, } //这是函数的定义 func notify(email string) { fmt.Println("Email is %s", email) } //这是方法的定义 func (u user) notify(email string) { fmt.Println("Email is %d", email) }我们可以看到,方法是在 func 和 notify 之间多了一个 user 类型的参数...阅读全文

博文 2018-12-24 22:31:01 qq_36308324

【北京/深圳】超融合领跑者SmartX招聘

- Smartx作为国内超融合 IT 领域的领跑者,为企业提供是领先的“超融合”与“软件定义”分布式存储产品和解决方案。 - SmartX已被Gartner、IDC列为中国主流的超融合厂商之一。2016 年实践了联通沃云的标杆案例,其 2000+ 节点,24+ PB 的部署规模和容量,是国内最大规模的超融合落地案例,得到客户和行业一致认可。同时,SmartX 产品和解决方案已成功商用在金融、政府机构、制造业、医疗、教育等多个行业,适用于多种业务场景。 - 我们的愿景是:“让 IT 变得简单”。 - 公司3位创始人徐文豪、王弘毅、张凯均是清华计算机系硕士毕业。徐文豪 UBC 计算机系硕士,师从著名计算机科学家、Xen 发明人 Andrew Warfield。做为早...阅读全文

Golang为什么没有整型的max/min方法

作为有一些经验的Golang开发者,你可能意识到了Golang并没有max/min方法来返回给定的两个或多个整型数值中的最大值或最小值。其他语言通常会在核心库中提供这类方法。 你有没有想过为什么Golang没有这么做? Golang确实在math包中提供了max/min方法,但是仅用于对比float64类型。方法的签名如下: math.Min(float64, float64) float64 math.Max(float64, float64) float64 Golang为float64提供max/min方法是浮点类型的比较对于大部分开发者来说比较困难。由于涉及精度问题,浮点数的对比往往没有那么直接。所以Golang在math包中提供了用于浮点数对比的内建方法。 对于int/int64数...阅读全文

博文 2019-12-07 20:32:40 李小西033

【互联网早报】2017.10.23

## ??国内新闻?? 1. 小蓝单车否认被永安行收购,称11月10日前退还押金; http://dwz.cn/6HMPQE 2. 短租平台洗牌提速,多数难掩亏损窘境转向抱团竞争; http://dwz.cn/6HMIZE 3. 60余广场舞App几乎全军覆没,大妈们的钱没那么好赚; http://dwz.cn/6HMDlu 4. 直播流量红利消褪,社交能否打开“后直播时代”大门? http://dwz.cn/6HMNHG ## ? 国际新闻? 1. 谷歌推出AVA数据库:让机器识别视频中人类行为; http://dwz.cn/6HMBCd 2. 智能手表商Garmin推出车载设备,内置Alexa语音; http://dw...阅读全文

主题 2017-10-23 01:18:32 polaris

薅羊毛的土豪项目【龙纪链】

薅羊毛的土豪项目【龙纪链】 龙纪链豪撒两亿ETH空投分享就能日薅千元! 好玩+好赚+好交易!猜哈希日收益翻30倍! 海外团队倾力打造长期项目,透明安全独创白嫖玩法 一分不花还赚钱!收益秒兑秒提 玩的就是放心! 真正零撸 轻松躺赚相信就干 不信就看 Telegram群: t.me/DGEraChain币用群: 0.plus/DGEraChain加微信: mox1080、xiang14gang、www799584123下载注册链接:https://front.dgera.net/regis.....阅读全文

博文 2019-09-13 14:32:40 哒哒区块链

BufPay.com 独立开发者个人即时到账收款平台

![BufPay 个人即时到账支付平台](https://upload-images.jianshu.io/upload_images/626292-5a767f3f35f91bd4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ## 前言 作为独立开发者,一般只有一个人独立奋战,做出了产品需要收款是非常麻烦的,接入支付宝微信支付都需要公司公户,而注册公司、开公户等一系列操作非常麻烦,成本也很高一年也要 1w 左右。市面上有些聚合支付,手续费很高并且不安全也不靠谱。 基于我们自己的需求,我们做了 [BufPay.com 收款平台](https://bufpay.com),**不需要营业执照、不用签约,真正个人开发者可用**。 ...阅读全文

博文 2018-07-10 12:29:55 bufpay

go语言生产者,消费者事例

package main import "fmt" import "time" func main() { // ch := make(chan int, 10) ch := make(chan int) go produce("生产者1",ch) go produce("生产者2",ch) time.Sleep(1 * time.Second) go use(ch) time.Sleep(101 * time.Second) } func produce(pname string,ch chan int) { for i:= 0;i < 20;i++ { fmt.Println("produce", pname ," : ", i) ch <- i // 这里需要在打印语句之后,否者可能产...阅读全文

博文 2014-10-23 18:00:00 eclipser1987

Sprite Kit游戏框架(go语言也该雄起了)

在iOS 7中内置了一个新的Sprite Kit框架,该框架主要用来开发2D游戏。目前已经支持的内容包括:精灵、很酷的特效(例如视频、滤镜和遮罩),并且还集成了物理库等许多东西。iOS 7中附带了一个非常棒的Sprite Kit示例工程,名字叫做Adventure。不过这个示例工程稍微有点复杂,不太适合初学者。本文的目的就是做一个关于Sprite Kit使用的初级教程。 通过本文,你可以从头到尾的学习到如何为你的iPhone创建一个简单又有趣的2D游戏。如果你看过我们之前的教程:Simple Cocos2D game教程,你会发现非常的相似。在开始之前,请确保已经安装了最新版本的Xcode(5.X),里面支持Sprite Kit以及iOS 7。 Sprite Kit的优点和缺...阅读全文

观察者模式 Go语言实现

模式组成: 观察者模式包含如下角色: 目标(Subject): 目标知道它的观察者。可以有任意多个观察者观察同一个目标。 提供注册和删除观察者对象的接口。 具体目标(ConcreteSubject): 将有关状态存入各ConcreteObserver对象。 观察者(Observer): 为那些在目标发生改变时需获得通知的对象定义一个更新接口。当它的状态发生改变时, 向它的各个观察者发出通知。 具体观察者(ConcreteObserver): 维护一个指向ConcreteSubject对象的引用。存储有关状态,这些状态应与目标的状态保持一致。实现O b s e r v e r的更新接口以使自身状态与目标的状态保持一致。 效果: Observer模式允许你独立的改变目标和观察者。你可以单独复用目...阅读全文

博文 2016-04-18 12:00:06 readen

马云:钱不是靠省出来的,有时候是靠投资、花钱和享受

人气旺到爆,一票难求的云栖大会终于开讲啦。 说到即兴演讲,阿里巴巴集团董事局主席马云首次以云计算为主题发表演讲绝对是今年云栖大会的一大亮点。 知道大家久等了。 各位创业者,创新者,追梦者,还带着锅气的马云语录这就呈上。 1 有人说BAT这样的三座大山在,我们怎么会有机会,我告诉大家,不是把村里的地主斗死了,农民也会富起来。 三座大山也好、七座大山也好,BAT依旧会继续发展,但是你们是有机会赢的,因为今天的创业环境,今天创业的所有的基础设施,整个融资状态要比十五年以前好很多。 包括今天在座每个人的素质,创业的能力也是远远我们那时候不敢想象的。 2 有人觉得,互联网的发展使得传统经济没有了机会。 但是从这个场馆八十五天能够做成,从设计、建设到完...阅读全文