- 浏览: 3009006 次
- 性别:
- 来自: 河南
文章分类
- 全部博客 (340)
- Java综合 (26)
- 程序人生 (53)
- RIA-ExtJS专栏 (18)
- RIA-mxGraph专栏 (4)
- RIA-Flex4专栏 (43)
- 框架-Spring专栏 (16)
- 框架-持久化专栏 (22)
- 框架-Struts2专栏 (11)
- 框架-Struts专栏 (12)
- SQL/NOSQL (12)
- 报表/图表 (2)
- 工作流 (5)
- XML专栏 (4)
- 日常报错解决方案 (5)
- Web前端-综合 (12)
- Web/JSP (14)
- Web前端-ajax专栏 (14)
- Web前端-JQuery专栏 (9)
- IDE技巧 (6)
- FILE/IO (14)
- 远程服务调用 (2)
- SSO单点登录 (2)
- 资源分享 (22)
- 云计算 (1)
- 项目管理 (3)
- php专栏 (1)
- Python专栏 (2)
- Linux (1)
- 缓存系统 (1)
- 队列服务器 (1)
- 网络编程 (0)
- Node.js (1)
最新评论
-
hui1989106a:
我的也不能解压,360和好压都试了,都不行
《Spring in Action》完整中文版分享下载 -
temotemo:
这些example有些过时了,官方建议使用HBase-1.0 ...
Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询 -
zy8102:
非常感谢~
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载 -
zy8102:
重命名了一下搞定了
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载 -
zy8102:
为什么下载以后老解压不了呢?
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载
Google最近发布新型的编程语言,Go。它被设计为将现代编程语言的先进 性带入到目前仍由C语言占统治地位的系统层面。然而,这一语言仍在试验阶段并在不断演变。
Go语言的设计者计划设计一门简单、高效、安全和 并发的语言。这门语言简单到甚至不需要有一个符号表来进行词法分析。它可以快速地编译;整个工程的编译时间在秒以下的情况是常事。它具备垃圾回收功能,因 此从内存的角度是安全的。它进行静态类型检查,并且不允许强制类型转换,因而对于类型而言是安全的。同时语言还内建了强大的并发实现机制。 Go的语法传承了与C一样的风格。程序由函数组成,而函数体是一系列的语句序列。一段代码块用花括号括起来。这门语言保留有限的关键字。表达式使用 同样的中缀运算符。语法上并无 太多出奇之处。 Go语言的作者在设计这一语言时坚持一个单一的指导原则:简单明了至上。一些新的语法构件提供了简明地表达一些约定俗成的概 念的方式,相较之下用C表达显得冗长。而其他方面则是针对几十年的使用所呈现出来的一些不合理的语言选择作出了改进。 变量是如下声明的: 最值得注意的是,这些声明里的类型跟在变量名的后面。乍一看有点怪,但这更清晰明了。比如,以下面这个C片段来说: 它并明了,但这里实际的意思是a是一个指针,但b不是。如果要将两者都声明为指针,必须要重复星号。然后在Go语言里,通过如下方式可以将两者都 声明为指针: 如果一个变量初始化了,编译器通常能推断它的类型,所以程序员不必显式的敲出来: 然而,在这种情况下var几乎显得是多余了。因此,Go的作者引入了一个新的运算符来 声明和初始化一个新的变量: Go语言当中的条件句与C当中所熟知的if-else构造一样,但条件不需要被打包在括号内。这样可以减少阅读代码时的视觉上的混乱。 括号并不是唯一被移去的视觉干扰。在条件之间可以包括一个简单的语句,所以如下的代码: 可以被精简成: 然而,在后面这个例子当中,result只在条件块内部有效——而前者 中,它在整个包含它的上下文中都是可存取的。 分支语句同样是似曾相识,但也有增强。像条件语句一样,它允许一个简单的语句位于分支的表达式之前。然而,他们相对于在C语言中的分支而言走得更远。 首先,为了让分支跳转更简明,作了两个修改。情况可以是逗号分隔的列表,而fall-throuth也不再是默认的行为。 因此,如下的C代码: 在Go里就变成了这样: 第二点,Go的分支跳转可以匹配比整数和字符更多的内容,任何有效的表达式都可以作为跳转语句值。只要它与分支条件的类型是一样的。 因此如下的C代码: 在Go里可以这样表达: 这些都是公共的约定俗成,比如如果分支值省略了,就是默认为真,所以上面的代码可以这样写: Go只有一个关键字用于引入循环。但它提供了除do-while外C语言当中所有可用的循环方式。 range语句右边的表达式必须是array,slice,string或者map, 或是指向array的指针,也可以是channel。 声明函数的语法与C不同。就像变量声明一样,类型是在它们所描述的术语之后声明的。在C语言中: 在Go里面是这样描述的: 在C语言当中常见的做法是保留一个返回值来表示错误(比如,read()返回0),或 者保留返回值来通知状态,并将传递存储结果的内存地址的指针。这容易产生了不安全的编程实践,因此在像Go语言这样有良好管理的语言中是不可行的。 认识到这一问题的影响已超出了函数结果与错误通讯的简单需求的范畴,Go的作者们在语言中内建了函数返回多个值的能力。 作为例子,这个函数将返回整数除法的两个部分: 有了多个返回值,有良好的代码文档会更好——而Go允许你给返回值命名,就像参数一样。你可以对这些返回的变量赋值,就像其它的变量一样。所以我们可以重写divide: 多返回值的出现促进了"comma-ok"的模式。有可能失败的函数可以返回第二个布尔结果来表示成功。作为替代,也可以返回一个错误对象,因此像下面这样的代码也就不见怪了: 有了垃圾收集器意味着为许多不同的特性敞开了大门——其中就包括匿名函数。Go为声明匿名函数提供了简单的语法。像许多动态语言一样,这些函数在它们被定义的范围内创建了词法闭包。 考虑如下的程序: 像C语言一样,Go提供了一系列的基本类型,常见的布尔,整数和浮点数类型都具备。它有一个Unicode的字符串类型和数组类型。同时该语言还引入了两 种新的类型:slice 和map。 Go语言当中的数组不是像C语言那样动态的。它们的大小是类型的一部分,在编译时就决定了。数组的索引还是使用的熟悉的C语法(如 a[i]),并且与C一样,索引是由0开始的。编译器提供了内建的功能在编译时求得一个数组的长度 (如len(a))。如果试图超过数组界限写入,会产生一个运行时错误。 Go还提供了切片(slices),作为数组的变形。一个切片(slice)表示一个数组内的连续分段,支持程序员指定底层存储的明确部分。构建一个切片 的语法与访问一个数组元素类似: 该切片所引用的数组分段可以通过将新的切片赋值给同一变量来更改: 切片的长度可以更改,只要不超出切片的容量。切片s的容量是数组从s[0]到数组尾端的大小,并由内建的cap()函数返回。一个切片的长度永远不能超出它的容量。 这里有一个展示长度和容量交互的例子: 通常,一个切片就是一个程序所需要的全部了,在这种情况下,程序员根本用不着一个数组,Go有两种方式直接创建切片而不用引用底层存储: 几乎每个现在流行的动态语言都有的数据类型,但在C中不具备的,就是dictionary。Go提供了一个基本的dictionary类型叫做map。下 面的例子展示了如何创建和使用Go map: Go语言支持类似于C语言中使用的面向对象风格。数据被组织成structs,然后定义操作这些structs的函数。类似于Python,Go语言提供 了定义函数并调用它们的方式,因此语法并不会笨拙。阅读Go
变量声明
条件语句
分支语句
循环
条件
for a > b { /* ... */ }
初始,条件和步进
for i := 0; i < 10; i++ { /* ... */ }
范围
无限循环
for { /* ever */ }
函数
多返回值
匿名函数
基本类型
数组和切片
Map类型
面向对象
发表评论
-
eclipse版本发布图
2013-11-06 21:11 9683作为一个java开发者, ... -
JAVA版本发布图
2013-08-30 15:15 2432整理修改了下JAVA版本发布图如下: 从这个表中我们可 ... -
HttpClient之Get请求和Post请求示例
2013-04-01 15:10 41535HttpClient的支持在HTTP/1.1规范中定义的所 ... -
byte[]与各种数据类型互相转换示例
2013-04-01 15:00 4291在socket开发过程中,通常需要将一些具体的值(这些值可 ... -
Jackson优化使用实例
2012-12-11 18:20 7307JSON的三种处理方式 Jackson提供了三种可选的JS ... -
Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j)
2011-07-29 10:28 63076第一、Logger.getLogger()和LogFact ... -
什么是REST?
2011-06-03 18:01 1748什么是REST? 本文是从 What ... -
Java泛型简明教程
2011-06-03 17:59 1724Java泛型简明教程 ... -
理解JSON:3分钟课程
2011-06-01 18:26 1855本文是从 Understanding JSON: the ... -
公告:博客今后要长期免费提供JAVA电子书下载喽
2011-04-28 16:06 3109JavaEye各位童鞋,自五一过后,我的博客将长期提供免费的J ... -
几种常用的Java数据源解决方案
2010-10-25 09:39 4488Java中的数据源就是javax.sql.DataSourc ... -
配置ANT
2010-10-22 17:20 2174下载 http://www.apache.org/dist/ ... -
JAVA开发中相对路径,绝对路径全面总结
2010-09-10 09:55 45641.基本概念的理解 绝对路径:绝对路径就是你的主页上的文 ... -
JNDI全面总结
2010-09-09 14:49 78330原理: 在DataSource中事先建立多 ... -
Java关键字synchronized详解
2010-09-09 11:28 25651synchronized 关键 ... -
JAVA利用properties实现的一个小功能
2010-08-04 16:59 2431这次说的小功能呢,其实是跟项目中用到的知识有关,虽然对别人可能 ... -
让机器猫来测试下你的浏览器
2010-07-21 11:40 2234本页面用于测试各个浏览器对CSS3的解释效果,文章中的机器猫“ ... -
Quartz使用示例总结
2010-05-25 22:56 27958任务调度在目前的JAVA应用程序中运用的十分普遍,故掌握Q ... -
TimerTask定时任务使用示例
2010-05-23 17:44 2856public class TimerTaskTest ex ... -
52 个超实用网站
2010-04-29 21:29 1675商务 GenBook : 帮助你的客户安排 ...
相关推荐
标题《Google Go初级读本》表明这是一本面向初学者介绍Google开发的Go语言的入门书籍。Go语言,又称为Golang,由Google工程师在2007年启动开发,并于2009年首次公开发布,旨在改进C等传统系统编程语言的效率与安全性...
Go语言初级读本。~~~~~~~~~~ Go语言是什么? Google最近发布新型的编程语言,Go。它被设计为将现代编程语言的先进 性带入到目前仍由C语言占统治地位的系统层面。然而,这一语言 仍在试验阶段并在不断演变...
编程语言: PLC的编程主要采用梯形图(Ladder Diagram,LD)、语句表(Structured Text,ST)、功能块图(Function Block Diagram,FBD)和顺序功能图(Sequential Function Chart,SFC)等国际标准编程语言。初学者...
《通风与安全初级读本》考试题库完整.doc
"Tarea01:入门读本" 涵盖了初学者需要掌握的基本概念和技能,让我们深入探讨这个主题。 1. HTML基本结构:每个HTML文件都由<!DOCTYPE>声明开始,它告诉浏览器文档类型和版本。接着是标签,它是整个文档的根元素。在...
《C++使用说明书(初级读本)》是一本专为初学者设计的教程,它将带你逐步走进C++的世界,领略编程的魅力。书中的内容既包括中文解释,也有英文对照,这种双语结合的方式对语言的理解和编程技能的提升都大有裨益。 ...
继续教育:诚信建设读本考试.pdf
《通风与安全初级读本》是一本针对矿井通风与安全基础理论的教材,涵盖了矿井空气成分、安全标准、有害气体以及通风动力与通风阻力等方面的知识。以下是根据提供的部分内容提炼出的相关知识点: 1. 矿井空气成分:...
标题和描述均提到了“六西格玛实施技巧:绿带读本”,这明确指出了本文档的主题聚焦于六西格玛方法论在实践中的应用,尤其是针对绿带级别的培训和指导。六西格玛是一种质量管理策略,旨在通过减少过程变异性来提高...
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a ...
牛津通识读本:数学 作 者: (英)蒂莫西·高尔斯 著,刘熙 译 出版时间:2014 内容简介 所有人在日常生活中都会接触到数学问题,多数人却又对之心存畏惧。在这本极为易读又充满趣味的小书中,蒂莫西·高尔斯...
漫话IP:TCP_IP基础知识读本
MPEG 是目前最常用的一项音频/ 视频压缩技术,它实际 上并不是一个单一的标准,而是包括了适合于各种不同 应用的一系列标准,但这些标准是以一些共同理论为基 础的。MPEG是活动图象专家组的缩写词,该专家组是联 ...