Golang语言介绍.ppt
《Golang语言介绍.ppt》由会员分享,可在线阅读,更多相关《Golang语言介绍.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、云南易热网络科技开发有限公司智汇成就梦想激情 责任 创新Golang语言介绍语言介绍Go编程语言是一个使得程序员更加有效率的开源项目。Go是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新的类型系统允许构建有性的模块化程序。Go编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。官方网址:http:/golang.org/Golang背景及特点背景及特点Go的前身来自于Inferno(基于贝尔实验室Plan 9 计划的改造)。Inferno 包含了一个叫做Limbo的语言。这里引用了一段
2、来自于Limbo论文的描述:Limbo是用于开发运行在小型计算机上的分布式应用的编程语言。它支持模块化编程,编译期和运行时的强类型检查,进程内基于具有类型的channel通讯,原子性垃圾收集,和简单的抽象数据类型。它被设计用于即便是没有硬件内存保护的小型设备上,也能安全的运行。1.命令词语言,非函数式语言;2.编译式语言,非解析式语言;3.强类型语言,非弱类型语言;4.带垃圾回收,多核并发语言;5.支持直接集成编译C语言库;6.天生集成通信管道channel;7.天生集成并发Go程(goroutine);8.支持面向对象编程,支持多根“继承”;9.支持反射,编译很快,执行也很快;10.跨平台语
3、言,IOS、linux、Windows;11.完全开源,免费使用;Golang数据类型Go有众所周知的类型如int,这个类型根据你的硬件决定适当的长度。意味着32位硬件上,是32位的;在64位硬件上是64位的。注意:int是32或64位之一,不会定义成其他值。uint情况相同。如果你希望明确其长度,你可以使用int32或者uint32。完整的整数类型列表(符号和无符号)是int8,int16,int32,int64和byte,uint8,uint16,uint32,uint64。byte是uint8的别名。浮点类型的值有float32和float64(没有float类型)。64位的整数和浮点数
4、总是64位的,即便是在32位的架构上。slice与array接近,但是在新的元素加入的时候可以增加长度。slice总是指向底层的一个array。1.整型:int8,int16,int,int32,int64;2.无符号整型:uint8,uint16,uint,uint32,uint64;3.浮点类型:float32,float644.字符串类型:string;5.数组类型:string,int/声明即可使用,无需创建6.切片类型:make(int,10)7.map类型:make(mapstringstring)8.布尔类型:bool;9.天生集成复数运算支持;10.支持指针,但不支持指针运算;
5、11.可从上述类型中衍生定义自己的类型;变量定义及使用1.表达式末尾无需分号“;”;2.支持显示变量定义,即把变量定义和使用分开;3.支持直接使用定义,及把变量定义和使用合并;4.支持多赋值表达式复合使用;5.支持多变量返回,和舍去部分返回变量;6.运算符支持:*/%&+-|=!=0|if x:=6;x 0 return y|return y else|else return x|return x|-func myfunc()i:=0Here:这行的第一个词,以分号结束作为标签println(i)i+goto Here 跳转程序控制结构(二)1.Go的for循环有三种形式,只有其中的一种使用分
6、号。在循环内支持break,continue,goto,return;for init;condition;post 和C 的for 一样for condition 和while 一样for 和C 的for(;)一样(死循环)(其中break支持多层嵌套循环直接返回)for i:=1;i10;i+/做想做的事情-for /做想做的事情if condition return-list:=stringa,b,c,d,e,ffor k,v:=range list/对k 和v 做想做的事情程序控制结构(三)1.Go的switch非常灵活。表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项,而如
7、果switch没有表达式,它会匹配true。这产生一种可能,使用switch编写if-else-if-else判断序列。switch i case 0:/空的case 体case 1:func1()/当i=0 时,f 不会被调用!default:func2()/默认分支-switch case 0=c&c=9:return c-0case a=c&c=f:return c-a+10case A=c&c=F:return c-A+10内建函数1.定义了少数函数,这意味着无需引用任何包就可以使用它们。close new panic complexdelete make recover realle
8、n append print imagcap copy println1.close 用于channel通讯。使用它来关闭channel。2.delete 用于在map中删除实例。3.len和cap 可用于不同的类型,len用于返回字符串、slice和数组的长度。4.new 用于各种类型的内存分配。5.make 用于内建类型(map、slice和channel)的内存分配copy 用于复制slice。参阅本章的“slice”。6.append 用于追加slice。7.panic和recover 用于异常处理机制。8.array、slices和map 199.print和println 是底层打
9、印函数,可以在不引入fmt 包的情况下使用。它们主要用于调试。plex、real和imag 全部用于处理复数函数定义及使用(一)type mytype int 新的类型func(p mytype)funcName(q int)(r,s int)return 0,0 1 2 3 4 5 61.保留字func用于定义一个函数;2.函数可以定义用于特定的类型,这类函数更加通俗的称呼是method(这是可选的);3.funcnName 是你函数的名字;4.int类型的变量q作为输入参数。参数用pass-by-value方式传递,意味着它们会被复制;5.变量r和s是这个函数的命名返回值。在Go的函数中可
10、以返回多个值。如果不想对返回的参数命名,只需要提供类型:(int,int)。如果只有一个返回值,可以省略圆括号。如果函数是一个子过程,并且没有任何返回值,也可以省略这些内容;6.这是函数体,注意return是一个语句,所以包裹参数的括号是可选的。注:mytype 大写字母开头表示,对包外公开,否者表示包内私有,方法名也是如此;函数定义及使用(二)1.在Go中,定义在函数外的变量是全局的,那些定义在函数内部的变量,对于函数来说是局部的。如果命名覆盖一个局部变量与一个全局变量有相同的名字在函数执行的时候,局部变量将覆盖全局变量。2.在左边中定义了函数q()的局部变量a。局部变量a仅在q()中可见。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Golang 语言 介绍
限制150内