- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Go程序设计语言(一) 本文译自 HYPERLINK /wiki/Rob_Pike Rob Pike的 HYPERLINK Go语言PPT教程 – HYPERLINK /doc/GoCourseDay1.pdf The Go Programming Language Part 1(updated June 2011)。由于该教程的必威体育精装版更新时间早于 HYPERLINK /doc/go1.html Go 1版本发布,因此该PPT中的一些内容与Go 1语言规范略有差异,到时我会在相应的地方做上注解。 谁发明了Go Go语言的设计和实现工作是由Google的一个研发小组以及来自世界各地的大量贡献者共同完成的。 联系方式: HYPERLINK :???????????????? 官网 HYPERLINK mailto:golang-nuts@ golang-nuts@:??? 用户讨论组 HYPERLINK mailto:golang-dev@ golang-dev@:???? 开发者讨论组 课程大纲 第一部分:基础第二部分:类型(type)、方法(method)以及接口(interface)第三部分:并发(concurrency)与通信(communication) 这个课程是关于Go程序设计语言的,而不是关于编程语言设计方法的,后者是一个单独的话题,不在此教程范围内。 第一部分大纲 动机 基础 -?简单、熟悉的内容 包与程序构建 动机 为什么要发明一门新语言? 在当今世界,编程语言在某些方面不够给力: 计算机运行速度快,但软件的构建慢。 为了速度和安全性需进行必要的依赖分析。 在类型上遇到了太多的阻碍。 对垃圾收集以及并发的支持太差。 多核被视为危机而不是机会。 积极应对 我们的目标是让编程重新回归快乐。 兼有动态语言的感觉以及静态类型系统的安全性; 编译成机器语言以获得更快的运行速度; 真正在运行时支持GC(垃圾收集)以及并发; 轻量级、灵活的类型系统; 拥有方法(method),但却不是传统的OO(面向对象)语言。 资源 关于Go语言的更多背景资料请参见文档: 文档包括: 语言规范 教程 Effective Go 标准库文档 安装和How-to文档 FAQs 一个语言联系游乐场(在浏览器中运行Go程序) 更多 现状:编译器 gc( HYPERLINK /wiki/Ken_Thompson Ken Thompson),又称6g,8g,5g??????? 继承自Plan 9项目的编译器模型??????? 生成代码速度非常快??????? 不支持gcc直接链接 gccgo(Ian Taylor)??????? 更为熟悉的体系架构??????? 生成代码的速度没有gc那样快??????? 支持gcc直接链接 支持32-bit和64-bit x86 (amd64,x86-64) 以及ARM。 垃圾收集器,并发等都已实现。优秀且正逐步完善的标准库。 基础 是时候上一些代码了 package main import fmt ? func main() { ? ? fmt.Print(Hello, 世界\n) } ? 语言基础 假设熟悉其他C语言类的(C-like)编程语言,这里将快速浏览一些基础知识。 这里大部分内容是简单的且熟悉的,也可能因此而有些沉闷,这里先说声道歉。 接下来的两部分教程会包含很有趣的内容,不过我们首先需要打下良好基础。 词法结构 - 传统中蕴含新意。 - 源码采用UTF-8编码。空格包括:空白,tab,换行,回车。 - 标识符由字母和数字组成(外加_),字母和数字都是Unicode编码。 - 注释: /* This is a comment; no nesting */ // So is this. ? 字面值(literals) 类似C语言中的字面值,但数值不需要符号以及大小标志(后续会有更多这方面内容): ? 23 0x0FF 1.234e7 ? 类似C中的字符串,但字符串是Unicode/UTF-8编码的。同时,\xNN总是有2个数字;\012总是3;两个都是字节: ? Hello, world\n \xFF ? ? ??// 1 byte \u00FF ? ? // 1 Unicode char, 2 bytes of UTF-8 ? 原生字符串:`\n\.abc\t\` == \\n\\.abc\\t\\ 语法概述 基本上就是类C的语法,但使用反转的类型和声明,并使用关键字作为每个声明的开头。 ? var a intvar b, c *int // 注意与C的不同var d []inttype S struct { a, b i
文档评论(0)