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

【GoLang笔记】浅析Go语言Interface类型的语法行为及用法

Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。 没有继承是否就无法拥有多态行为了呢?答案是否定的,Go语言引入了一种新类型—Interface,它在效果上实现了类似于C++的“多态”概念,虽然与C++的多态在语法上并非完全对等,但至少在最终实现的效果上,它有多态的影子。 那么,Go的Interface类型到底是什么呢?怎么使用呢?这正是本篇笔记试图说明的问题。 1. Method(s) in Go 在说明Interface类型前,不得不先用Go的method(s)概念来热身,因为Go语言的interface与method(s)这两个语法有非常紧密的联系。 虽然Go语言没有类的概念,但它支持的数据类型可以定义对应的method(s)。本质上说,所谓的method(s)其实就是函数...阅读全文

博文 2015-03-23 11:00:06 slvher

<三> go 枚举

在go语言中,没有直接支持枚举的关键字,也就造成go没有直接枚举的功能。但是go提供另一种方法来实现枚举,那就是const+iota // 实现枚举例子 type State int // iota 初始化后会自动递增 const ( Running State = iota // value --> 0 Stopped // value --> 1 Rebooting // value --> 2 Terminated // value --> 3 ) func (this State) String() string { switch this { case Running: return "Running" case Stopped: return "Stopped" default:...阅读全文

博文 2015-11-20 09:00:01 a11101171

go语言25个关键字总结

var和const :变量和常量的声明 var varName type 或者 varName : = value package and import: 导入 func: 用于定义函数和方法 return :用于从函数返回 defer someCode :在函数退出之前执行 go : 用于并行 select 用于选择不同类型的通讯 interface 用于定义接口 struct 用于定义抽象数据类型 break、case、continue、for、fallthrough、else、if、switch、goto、default 流程控制 chan用于channel通讯 type用于声明自定义类型 map用于声明map类型数据 range用于读取slice、map、channel数...阅读全文

博文 2014-10-04 19:26:29 T_star

golang中defer的执行

golang中defer的执行 大家都知道golang的defer关键字,它可以在函数返回前执行一些操作,最常用的就是打开一个资源(例如一个文件、数据库连接等)时就用defer延迟关闭改资源,以免引起内存泄漏。例如: func do() (ok bool) { file,_ := os.Open("c:\a.txt") defer file.Close() // doSomething return ok } 我们可以在官方的文档中看到defer的执行顺序是逆序的,也就是先进后出的顺序: for i := 0; i < 5; i++ { defer fmt.Printf("%d ", i) } 打印结果是:4,3,2,1,0 那么再看这个例子: func deferRet(x,y int) ...阅读全文

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

go - 继承

1 方法的继承 在go中没有继承的关键字,但是我们可以通过interface这个类型做出继承的效果,看如下代码,Car就继承了Start和Stop这两个方法 import ( "fmt" ) type Engine interface { Start() Stop() } type Car struct { Engine } func (this *Car) Start() { fmt.Println("Car->Start()") } func main() { fmt.Println("Start Main func()") car := new(Car) car.Start() } 2 成员变量的继承 相当与定义Person人这个类,然后定义男人Man继承人的姓名,年龄这个两个成员属性...阅读全文

博文 2015-11-16 17:00:01 a11101171

李嘉璇:技术人如何深入人工智能

前不久趣直播举办了一场技术人成长交流会,邀请了《TensorFlow 技术解析与实战》作者李嘉璇来分享。以下是视频:以下是文字版:谢谢智维的介绍,介绍的太棒了,我其实没有他说的那么棒,让我压力好大,尤其巧哥又讲的那么好我目前主要是做人工智能方向的,比较熟悉的是 TensorFlow,我有写过一本书,《TensorFlow 技术解析与实战》,我这里面再多说两句,因为有非常多的人会问我,你是怎么写出一本书的?或者说你写出一本书遇到什么样的困难?我现在面试的时候就会有人问我这样的问题,会经常让我去说这个事,我跟大家分享一下。我在写这本书的时候,我脑子里没有第二件事了,我说的第二件事就包括吃饭和睡觉上厕所,脑子里没有这些,就是在我的意识里,这些东西都不存在的。我眼里只有这一件事,我活着就是为了写书这...阅读全文

golang 里面指针符号的*和&

先看一段代码先放一段代码,人工运行一下,看看自己能做对几题?package main import "fmt" func main() { var a int = 1 var b *int = &a var c **int = &b var x int = *b fmt.Println("a = ",a) fmt.Println("&a = ",&a) fmt.Println("*&a = ",*&a) fmt.Println("b = ",b) fmt.Println("&b = ",&b) fmt.Println("*&b = ",*&b) fmt.Println("*b = ",*b) fmt.Println("c = ",c) fmt.Println("*c = ",*c) fmt....阅读全文

博文 2017-02-10 10:21:28 ohgenlong

Golang分布式唯一ID生成库go-snowflake

[![GuaikOrg/go-snowflake](https://gitee.com/GuaikOrg/go-snowflake/widgets/widget_card.svg?colors=ffffff,1e252b,323d47,455059,d7deea,99a0ae)](https://gitee.com/GuaikOrg/go-snowflake) # ❄️ GO-Snowflake ## Snowflake简介 在单机系统中我们会使用自增id作为数据的唯一id,自增id在数据库中有利于排序和索引,但是在分布式系统中如果还是利用数据库的自增id会引起冲突,自增id非常容易被爬虫爬取数据。在分布式系统中有使用uuid作为数据唯一id的,但是uuid是一串随机字符串...阅读全文

【互联网早报】2017.10.25

## ??国内新闻?? 1. 从入门到倒闭,共享汽车算是快黄了; http://dwz.cn/6ItKTo 2. 科学家将机器学习技术用于地震预测,未来或能更高效预测这类灾害的发生; http://www.dwz.cn/6IttVt 3. PaaS平台中搜云悦获2000万元融资,或将谋求独立上市。 http://dwz.cn/6Itvxa ## ? 国际新闻? 1. 清扫第三方app漏洞:谷歌发起新“除虫奖赏计划”; http://dwz.cn/6Itwkx 2. AirDroid推出iOS版,从此iPhone与PC传输无距离; http://dwz.cn/6Itl9w 3. 将枯燥文本自动转化成趣味视频,AI创企Wibbit...阅读全文

Golang 简单的启用一个线程

// code by shaoyongyang package main import ( "fmt" "time" ) func say(s string) { fmt.Println(s) } func main() { go say("who are you?") go say("who are you?1") fmt.Println(2) time.Sleep(1e9) } 好吧,我之前都在想为什么say方法里面没有任何输出,查了很多资料后发现,是因为程序已经结束运行了,启动的线程还在运行。 在最后面加入线程休眠时间就可以了。 启用一个线程仅仅 go say("see i am new thread") ,仅仅使用go关键字即...阅读全文

博文 2015-02-01 08:00:01 未来还没来

95后大学生用机器学习PAI大战老年痴呆

摘要:燕山大学信息科学与技术专业出身的95后大学生谭创创,没想到自己会与阿尔茨海默症(俗称“老年痴呆症”)为“敌”。 除了上课,他每天主要的工作,是用人工智能技术分析阿尔茨海默症。过去,大学生做研究主要使用自己的计算机,或者学校的实验室设备,而谭创创则与社会接轨,他的“武器”来自于亚洲最大云计算服务商——阿里云。 2015年上半年,刚刚大一的谭创创闯入了机器学习的世界。他向学校的文冬教授表达了想要参与科研的意愿。此后,他开始运用机器学习算法来研究阿尔茨海默症的诊断。 文冬解释说,通常一次诊断可能需要做十几个量表(根据病人答题情况判断疾病——记者注),耗费大量时间,病人有时也难以坚持。加之病情轻微时,片子上无法准确呈现哪里病变,就会降低诊断效率与准确性。“机器学习可以提高发现...阅读全文

golang 中的 type switch 类型判断

golang 语言中 也有 类是 javascript 的 typeof 判断类型的 方法 比如 func (a interface{}){ //第一种 if inst,ok:=a.(TypeA);ok{ inst.MethodA() } //第二种 switch inst:=a.(type){ case TypeA: inst.MethodA() default: fmt.Println("unknow") } } a可能是任意类型 a.(某个类型) 返回两个值 inst 和 ok ,ok代表是否是这个类型,Ok如果是 inst 就是转换后的 类型 a.(type) type是关键字 结合switch case使用 TypeA(a) 是强制转...阅读全文

博文 2014-10-04 19:26:55 健哥大人

Golang关键字—— if/else

Golang中,if/else 关键字用于条件判断,如果满足条件就做某事,否则做另一件事: if age >= 18 { fmt.Println("成年人") } else { fmt.Println("未成年") } 多重判断: if score >= 90 { fmt.Println("优秀") } else if score >= 70 { fmt.Println("良好") } else if score >= 60 { fmt.Println("一般") } else { fmt.Println("差") } Golang允许在条件判断语句里声明一个变量,该变量的作用域只在该条件逻辑块内: if score := 40; score >= 90 { fmt.Println("优秀:...阅读全文

博文 2015-05-21 10:00:00 nianhua

c语言客户端与golang服务端通信(网络字节序)

网络二进制数据转换: 总所周知,数据在tcp网络传输协议中传输的字节序是大端模式的,换句话说如果你要传输一个int32型的整数,那么假设其二进制小端模式表示为11111111111111110000000000000000那么其大端模式表示为00000000000000001111111111111111,利用c语言的htonl函数会将数据字节序转换成大端模式,在网络上面传输,接收端想解出原始数据只需要认为发送来的数据是大端模式,按照大端模式表示的数据解析便可 举个例子: 在C语言端发送一个int32_t数据过程如下: 发送端(c语言) char buf[100]; int32_t x = 100; ((int*)buf)[0] = htonl(x); send(clientfd, buf,...阅读全文

博文 2016-02-26 03:00:01 candycloud

微信web协议/微信机器人wechat/go

## wechat-go go version wechat web api * 支持多用户(多开) * 防掉线 * 功能以插件的形式提供,可以根据用户(比如付费情况)选择加载或者不加载某插件 * 对于加载的插件, 用户可以通过微信动态开启/关闭. * 目前已提供头像识别, gif搜索, 笑话大全, 阅后即焚等多个有趣插件 * 插件编写简单, 二次开发极为方便 * 可以发送图片/文字/gif/视频/表情等多种消息 ## Install go get -u -v github.com/songtianyi/wechat-go ## golang.org/x dep install mkdir $GOPATH/src/golang.org/x cd...阅读全文

Golang实现简单tcp服务器04 -- 服务器的粘包处理

服务器的粘包处理 什么是粘包 一个完成的消息可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和封包问题 TCP粘包和拆包产生的原因 应用程序写入数据的字节大小大于套接字发送缓冲区的大小 进行MSS大小的TCP分段。MSS是最大报文段长度的缩写。MSS是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。所以MSS并不是TCP报文段的最大长度,而是:MSS=TCP报文段长度-TCP首部长度 以太网的payload大于MTU进行IP分片。MTU指:一种通信协议的某一层上面所能通过的最大数据包大小。如果IP层有一个数据包要传,而且数据的长度比链路层的MTU大,那么IP层就会进行分片,把数据包分成托干片,让每一片都...阅读全文

博文 2015-06-02 23:00:16 victoriest

腾讯云360元 6年时长最新完整方案

腾讯云新用户认证学生身份可享受1核CPU、2G内存、1M带宽的云服务器10元/月的价格。 同时买1年(120元)送4个月,特价续费两年(120元*2),共支出360元。 得到3年的特价学生云服务器,然后在控制面板降配,会获得5年左右的时长。 具体步骤: 1、准备一个未购买过腾讯云的新账号,新注册QQ也可。 2、进入参团链接:https://cloud.tencent.com/act/campus/group/detail?group=20561 3、登陆腾讯云账号,进行实名认证(这个带参团性质,貌似需要参团才可以参与) 4、进行学生认证,(随便填就可以):https://cloud.tencent.com/act/campus/student_ver...阅读全文

golang笔记-注释-标识符

Go语言注释 行注释://xxxxxx 块注释:/* xxxxxx */ Go语言关键字,严格区分大小写。 1.break 2.default 3.func 4.interface 5.select 6.case 7.defet 8.go 9.map 10.struct 11.chan 12.else 13.goto 14.package 15.switch 16.const 17.fallthrough 18.if 19.range 20.type 21.contiue 22.for 23.import 24.return 25.var Go语言预定义标识符 1.append 2.bool 3.byte 4.cap 5.close 6.complex 7.complex64 8.compl...阅读全文

博文 2016-04-09 23:00:01 golangerblog

腾讯云360元 6年时长完整方案

腾讯云新用户认证学生身份可享受1核CPU、2G内存、1M带宽的云服务器10元/月的价格。 同时买1年(120元)送4个月,特价续费两年(120元*2),共支出360元。 得到3年的特价学生云服务器,然后在控制面板降配,会获得5年左右的时长。 具体步骤: 1、准备一个未购买过腾讯云的新账号,新注册QQ也可。 2、进入参团链接:https://cloud.tencent.com/act/campus/group/detail?group=16924 3、登陆腾讯云账号,进行实名认证(这个带参团性质,貌似需要参团才可以参与) 4、进行学生认证,(随便填就可以):https://cloud.tencent.com/act/campus/student_ver...阅读全文

腾讯云360元 6年时长最新完整方案, 亲测

腾讯云新用户认证学生身份可享受1核CPU、2G内存、1M带宽的云服务器10元/月的价格。 同时买1年(120元)送4个月,特价续费两年(120元*2),共支出360元。 得到3年的特价学生云服务器,然后在控制面板降配,会获得5年左右的时长。 具体步骤: 1、准备一个未购买过腾讯云的新账号,新注册QQ也可。 2、进入参团链接:https://cloud.tencent.com/act/campus/group/detail?group=21901 3、登陆腾讯云账号,进行实名认证(这个带参团性质,貌似需要参团才可以参与) 4、进行学生认证,(随便填就可以):https://cloud.tencent.com/act/campus/student_ver...阅读全文

Google AI 中国中心在北京成立,由李飞飞李佳领导

AI 科技评论消息,12 月 13 日,在今天开幕的谷歌开发者大会上,谷歌 Cloud 人工智能和机器学习首席科学家李飞飞宣布,Google AI 中国中心(Google AI China Center)于北京正式成立。该中心由李飞飞和 Google Cloud 研发负责人李佳博士共同领导。李飞飞将会负责中心的研究工作,也会统筹 Google Cloud AI, Google Brain 以及中国本土团队的工作。据李飞飞现场表示,谷歌 AI 中国中心也非常期待能在中国本土合作上有所建树,为更广大的学生及研究人员提供高质量 AI 及机器学习的教育支持。Google AI 中国中心的研究重点是基础 AI 研究,并与中国 AI 学术界建立长期合作的紧密联系。李飞飞表示,Google AI 中国中心...阅读全文

博文 2017-12-13 04:17:57 奕欣

golang expected declaration, found 'IDENT'

这个问题是因为:=只能在函数内部使用,如果声明全局变量需要使用var关键字 例如 func foo() { id := 1 } 如果声明为全局变量则需要这样声明 var id = 1 PS:Go中引入:=是为了减少一些临时变量的定义,所以一个好的习惯是:=只用来声明临时变量,对于一个函数中常用的变量还是使用var进行声明。 附: Short_variable_declarations $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

博文 2015-12-12 17:00:01 jiaolongdy

深度学习第一课

近几年深度学习的概念非常火,我们很幸运赶上并见证了这一波大潮的兴起。记得2012年之前提及深度学习,大部分人并不熟悉,而之后一段时间里,也有些人仍旧持怀疑的态度,觉得这一波浪潮或许与之前sparse coding类似,或许能持续火个两三年,但终究要被某个新技术新方法所取代,再后来,无论是学术界还是工业界,总有些研究者为自己没有在第一时间跟进这波浪潮感到后悔莫及。确实,从2012年AlexNet取得ImageNet的冠军开始,五年过去了,深度学习的方法仍旧占领着人工智能这片领域。 随着这波浪潮,有些人作为弄潮儿,兴起一波波巨浪,引领各个领域从传统方法到深度学习方法的转变,并希望能够通过了解其他领域的方法改进自己所从事的领域;有些人辛勤地工作,利用深度学习的方法为公司提高业绩,希望实时跟进并实现...阅读全文

博文 2017-06-24 09:52:16 PaddlePaddle开源团队

最强围棋程序Alpha Go 浅析

最强围棋程序Alpha Go 浅析 去年谷歌的围棋程序Alpha Go一举打败所有已知的围棋AI程序,以及以5:0的大比分打败了专业棋手Fan Hui。随后在《nature》上报到了Alpha Go 的内幕。作为一个伪的围棋爱好者和一个机器学习爱好者,看了该文章,并看了其他的分析,写下自己的心得: 围棋的智能对弈程序最早当属我国的手谈,那个时期的自动对弈程序属于经验型的。随后从国外对围棋研究后,产生了蒙特卡洛树搜索的方法应运于围棋对弈,产生了一系列的强AI,可以达到业余水准,关于蒙特卡洛树搜索可以参看《基于蒙特卡洛树搜索的计算机围棋博弈研究》,可以说对该方法进行了详细的说明,阅读也较容易,可以得到围棋AI的一些背景,制约蒙特卡洛方法更近一步的原因是:树的展开,以及搜索的深度的确定。于此同时,...阅读全文

云栖大会中你不可以错过的技术盛宴!

2017阿里云杭州云栖大会Clouder Lab探秘 带上电脑去云栖,与专家面对面顺便拿认证!报名9月30日截止! 杭州云栖大会推出的4场Clouder Lab开放实验室,为企业级技术人员提供了一个动手实操的实验平台,帮助他们清晰理解云计算、大数据相关的知识技能,达到即学即用的目的,更可以和阿里云专家一起探索云端最佳技术实践。且课程皆精选自阿里云大学业界首创的Apsara Clouder认证课程。 Clouder Lab还将设置现场测试环节,更好的辅助用户掌握核心技能点。通过测试者,可现场领取阿里云大学官方证书。 据悉去年Clouder Lab现场开发者人山人海,出现了一座难求的景象!而今年云栖大会Clouder Lab都有哪些有趣的实战内容? ...阅读全文

最全知乎专栏合集:编程、python、爬虫、数据分析、挖掘、ML、NLP、DL...

(本文先简单罗列下,后续要是有好的展示方式,会进行调整)上一篇文章《爬取11088个知乎专栏,打破发现壁垒》 里提到,知乎官方没有搜素专栏的功能,于是我通过爬取几十万用户个人主页所专注的专栏从而获取到11088个知乎专栏。本回筛选出涉及:编程、python、爬虫、数据分析、挖掘、ML、NLP、DL等关键词的专栏,按照排名、关注人数、专栏名称、专栏简介等顺序,罗列出史上最全专栏合集,以供大家顺藤摸瓜、前去观摩和学习。 筛选出来的专栏数据和全部11088个专栏数据,评论区有获取方式。对其他主题的专栏感兴趣的可自行去搜寻,有兴致搞出个“专栏”搜索功能的小伙伴也可以尝试下!另外已开始对11088个专栏里的数据进行进一步爬取,之后会继续相关分析和资源分享。TOP29系列,1万+关注:No.1, 157...阅读全文

除了 Python ,这些语言写的机器学习项目也很牛

Python 由于本身的易用优势和强大的工具库储备,成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习,已然是各大项目最偏爱的语言。 其实除了 Python ,也不乏有开发者用其他语言写出优秀的机器学习项目。在此,列出其中一些个人认为值得关注的开源机器学习项目。由于篇幅有限,考虑分多期整理。 1、C Darknet —— 神经网络框架 Darknet 是一个用 C 和 CUDA 编写的开源神经网络框架。它快速,易于安装,并支持 CPU 和 GPU 计算。 CCV —— 计算机视觉库 CCV 是 C-based/Cached/Core Computer Vision Library 的简称, 它是一个现代的计算机视觉库。 CCV 是一种以应用驱动的算法库,比如对静态物体(如...阅读全文

博文 2017-06-25 06:47:11 编辑部的故事

机器学习和算法

机器学习和算法 github上的仓库地址: [机器学习](https://github.com/KeKe-Li/tutorial/blob/master/README.md) 最近以来一直在学习机器学习和算法,然后自己就在不断总结和写笔记,记录下自己的学习AI与算法历程。 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 * 机器学习是计算机科学的一个子领域,在人工智能领域,机器学习逐渐发展成模式识别和计算科学理论的研究。 * 机器学习:多领域交叉学科,涉及概率论统计学,逼近论...阅读全文

[上海]AngelHack人工智能沙龙

# [AngelHack人工智能沙龙](http://www.huodongxing.com/event/7441786899200) > [早鸟票免费, 点击这里报名](http://www.huodongxing.com/event/7441786899200) ## 介绍 AngelHack作为全球最大的黑客马拉松社区, 旨在为开发者或任何其它喜欢科技喜欢编程的人提供一个实现想法的平台, 以及提供各种提高开发技能和开发理念的机会. 人工智能正在重塑世界. 游戏, 围棋, 语音识别, 图像识别, 语言翻译... 人工智能渗透了现代社会的方方面面. 无论你是在校学生, 科研工作者, 开发者, 或者任何行业的人, 都应该积极了解和拥抱人工智能, 保持与时代同步. ...阅读全文

Go学习笔记:interface

Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。 没有继承是否就无法拥有多态行为了呢?答案是否定的,Go语言引入了一种新类型—Interface,它在效果上实现了类似于C++的“多态”概念,虽然与C++的多态在语法上并非完全对等,但至少在最终实现的效果上,它有多态的影子。 那么,Go的Interface类型到底是什么呢?怎么使用呢?这正是本篇笔记试图说明的问题。 1. Method(s) in Go 在说明Interface类型前,不得不先用Go的method(s)概念来热身,因为Go语言的interface与method(s)这两个语法有非常紧密的联系。 虽然Go语言没有类的概念,但它支持的数据类型可以定义对应的method(s)。本质上说,所谓的method(s)其实就是函数...阅读全文

博文 2015-11-09 16:00:03 qdx411324962

Go 编译器介绍

cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。 在谈到编译器时,有时可能会听到前端front-end和后端back-end这两个术语。粗略地说,这些对应于我们将在此列出的前两个和后两个阶段。第三个术语中间端middle-end通常指的是第二阶段执行的大部分工作。 请注意,go/parser 和 go/types 等 go/* 系列的包与编译器无关。由于编译器最初是用 C 编写的,所以这些 go/* 包被开发出来以便于能够写出和 Go 代码一起工作的工具,例如 gofmt 和 vet。 需要澄清的是,名称 “gc” 代表 “Go 编译器Go compiler”,与大写 GC 无关,后者代表垃圾收集g...阅读全文

博文 2018-09-04 11:31:04 mvdan

golang汉字转拼音

1、为什么造轮子?同事在开发过程中需要用到敏感词过滤检查,其中一个功能就是拼音搜索,需要用到汉字转拼音,然后网上找了这么一个库,首先感谢他对汉字转拼音的贡献,对golang源码的贡献。然后我们的golang执行文件编译后启动速度慢了100倍,经过逐一排查后发现原来是这个库导致的,于是便有了这么一个造轮子的过程。2、源码源码地址3、使用demo添加引用import( "github.com/cao-guang/pinyin" )初始化调用func main() { pinyin.LoadingPYFileName("./data/pinyin.txt") //这里是字典文件路径程序启动调用一次,载入缓存 //demo str1, err := pinyin.To_Py("汉字拼音", "", ...阅读全文

博文 2019-10-10 10:14:57 cao-guang

【互联网早报】2017.10.20

## ??国内新闻?? 1. 柯洁回应新版本AlphaGo问世:人类太多余了; http://dwz.cn/6Gwup1 2. 花呗启动临时提额,八成用户天猫双11人均可多花2200元; http://dwz.cn/6Gwtqf 3. 吴恩达出任Woebot董事长,再度出手医疗领域帮人们治疗抑郁症。 http://dwz.cn/6GwhHh ## ? 国际新闻? 1. 苹果发表机器学习文章,介绍“嘿 Siri”背后的故事; http://dwz.cn/6GwitC 2. 英特尔开发新系统:自动驾驶犯错了也不会造成事故; http://dwz.cn/6GwgH0 3. Gartner:2020年全球云计算市场规模将达4110亿美元。...阅读全文

大数据全攻略:10年老兵带你看尽MaxCompute大数据运算挑战与实践

大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。 产品地址:https://www.aliyun.com/product/odps 概况介绍: 以下为本套攻略的内容目录,查看每篇文章详细内容请查看:http://click.aliyun.com/m/26509/ 性能追求之路——MaxCompute2.0(原ODPS)的前世今生 10年老兵带你看尽MaxCompute大数据运算挑战与实践 什么是阿里云数加大数据计算服务MaxCompute? ...阅读全文

从例子中学习 go 语言 —— 基本语法

go 语言或是 golang 官网上有个 tour。从例子中学习一门语言虽然具有片面性,但是往往是一个入门的好方法;如果一开始就去是看手册的话,有些凌乱,摸不着头脑,有点看字典的味道。所以,先从例子中学习,然后再系统的学习,应该是个不错的方法。 本篇文章基本按照 tour 的步骤,跑跑例子,从例子中去猜测/分析 go 的语法以及结构等,一定程度上可以锻炼一下,观察和分析能力。 hello,world: package main import "fmt" func main() { fmt.Println("hello,world") // 输出 hello,world } 1). package 将程序打包; 2). import 导入其他包,包名用双引号引住;fmt 包 —— 应该是 fo...阅读全文

博文 2014-10-04 19:25:56 wuwenxiang91322

Go1.6与JVM CMS的垃圾回收对比

自从Go1.5引入了真正的并发GC后, Go1.6进一步进行了优化,使得Go在上百G级的堆大小时依然能将STW时间控制在20ms以内: 而Java8的G1收集器,默认参数下在100G以上的heap下,会造成秒级的STW。虽然可以通过-XX:MaxGCPauseMillis调整,但是是以牺牲大量吞吐量为代价。这里浅析一下Go能做到比G1更短的STW的原因。 轮流挂起协程 JVM的CMS收集器在工作时,大致分为4个阶段: 初始标记 并发标记 重新标记 并发清除 其中1, 3 是需要STW的阶段,CMS的停顿也是由这2个阶段引发的。Go1.5中的CMS也分为这些阶段,其中1, 3同样需要STW。那为什么Go会停顿时间更少呢?原因是,Go的CMS在第3阶段并不是挂起所有goroutine,而是轮流挂...阅读全文

博文 2016-04-21 19:00:01 tracker_w

关于Go语言中defer关键字

在Go语言中,defer语句会在该函数结束的时候被调用,即使后面的语句运行时出现异常了defer语句仍然会被执行。 需要注意的是,如果defer语句中引用了参数,则该参数的值将是程序到defer这一行的时候的值,而与后面的语句没有关系。 以下为简单测试: package main import "fmt" func main() { func_b_0() func_b_1() func_b_2() } func func_b_0() { fmt.Println("func_b_0...top") a := 5 defer fmt.Println("a=", a) a++ } func func_b_1() { fmt.Println("func_b_1...top") a := 5 defe...阅读全文

博文 2015-06-17 23:00:51 books1958

使用Go 机器学习库来进行数据分析 2 (决策树)

目录 [−] 决策树和随机森林代码评估结果 这篇文章, 继续使用golearn库分析鸢尾花的数据集。 这一次,我们会使用决策树和随机森林来分析。 决策树和随机森林 决策树是机器学习中最接近人类思考问题的过程的一种算法,通过若干个节点,对特征进行提问并分类(可以是二分类也可以使多分类),直至最后生成叶节点(也就是只剩下一种属性)。 每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策树可以依靠对源数据库的分割进行数据测试。这个过程可以递归式的对树进行修剪。 当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。 golearn支持两种决策树算法。ID3和RandomTree。 ID3...阅读全文

博文 2017-12-09 03:54:38 smallnest

编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别

最近在研究Python和Golang。反复提到动态类型语言、动态语言、解释型语言这些概念。这些概念很生涩,在这里做一个总结。 编译型语言和解释型语言 1、编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执...阅读全文

博文 2019-02-15 16:34:47 Legendary

为什么 2010 年前后诞生的语言(如 Golang, Rust, Swift)都是直接编译成机器码?

为什么 2010 年前后诞生的语言(如 Golang, Rust, Swift)都是直接编译成机器码? 之所以问这个问题是因为知乎上有问题“为什么 2010 年前后诞生的语言(如 Golang, Rust, Swift)都是强类型 + 静态?”,其中大多数答案都是在说动态语言存在的问题 那么按照这个逻辑,这三门语言都不是像JAVA、C#那样先编译成中间代码(JAVA字节码和CIL)、在运行时再JIT成机器码,那是不是说明中间码这种思路也有问题呢? 1 条评论 分享 按投票排序按时间排序 2 个回答 什么是答案总结? 答案总结 4赞同 反对,不会显示你的姓名 匿名用户 沈世军、Colliot、卿培 等人赞同 你忘记scala和clojure等jvm上的语言了。所以提问的前提就不对 你忘记sca...阅读全文

博文 2016-04-20 10:00:01 autumn20080101

golang interface用法

接口是一个或多个方法签名的集合,任何类型的方法集中只要拥有与之对应的全部方法,就表示它"实现"了该接口无须在该类型上显式添加接口声明。 所谓对应方法,是指有相同名称、参数列表 (不包括参数名) 以及返回值。当然,该类型还可以有其他方法。(1)接口命名习惯以er结尾结构体。(2)接口只有方法签名,没有实现。(3)接口没有数据字段。(4)可在接口中嵌入其他接口。(5)类型可实现多个接口。 下面举个栗子:用例:一个人,他的有两种角色,在公司是程序猿,在家里是孩他爸。在公司当程序猿时就写bug,在家当爹时就洗尿布。则其接口和结构体的映射关系为: package main import "fmt" type CodeMonkey interface { codingEveryday() string ...阅读全文

博文 2014-10-04 19:27:27 Estone

趣头条基于 Flink 的实时平台建设实践

本文由趣头条实时平台负责人席建刚分享趣头条实时平台的建设,整理者叶里君。文章将从平台的架构、Flink 现状,Flink 应用以及未来计划四部分分享。 一.平台架构 1.Flink 应用时间线 首先是平台的架构,2018 年 3 月之前基本都是基于 Storm 和 Spark Streaming 来做的。目前,基本已经把 Spark Streaming 和 Storm 淘汰了,主要都是 Flink SQL 来做的。起初还比较传统,一般是接需求然后开发类似于 Flink SQL 的任务,基本是手工作坊操作模式。 后来 Flink SQL 的任务逐渐多了起来,就开始考虑往平台化方向发展。大概在 2018 年 10 月份,我们开始搭建实时平台。当时设计实时平台时就直接抛弃了 Spark Strea...阅读全文

配置go语言vim

Go语言自带vim 的语法高亮文件。 1: 开启vim语法高亮 vim ~/.vimrc syntax on set fencs=utf-8,gbk 2:将/usr/local/go/misc/vim/目录下文件拷贝到~/.vim/目录下(如果没有该目录则新建) mkdir ~/.vim cp -R /usr/local/go/misc/vim/* ~/.vim/ 3:新建~/.vim/ftdetect/go.vim,加入下面的内容:au BufRead,BufNewFile *.go set filetype=go echo "au BufRead,BufNewFile *.go set filetype=go" > ~/.vim/ftdetect/go.vim 只需3步,开启vim go...阅读全文

博文 2015-02-27 20:00:04 pkufergus