Go语言编程-v100.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Go语言编程-v100.pdf》由会员分享,可在线阅读,更多相关《Go语言编程-v100.pdf(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Go!why404七牛云存储2012/07/21112年7月21日星期六What?Godaddy(去你爹,X)Go a head(去个头,X)Golang(Go语言,YES)212年7月21日星期六Go a head.312年7月21日星期六Golang is一个在语言层面实现了并发机制的类C通用型编程语言412年7月21日星期六为什么我们需要一门新语言多核时代,硬件更新换代快软件不能充分利用硬件资源传统编程语言多核并发编程够繁琐生产效率512年7月21日星期六Go前世今生1995 Bell Labs,Plan9-Inferno(Limbo)2007/09 Googles 20%project
2、2008/05 Google full-time project 2009/11 officially announced2012/03 Go1 Released612年7月21日星期六Hello Worldpackage mainimport“fmt”func main()fmt.Println(“Hello,世界”)712年7月21日星期六Hello Worldpackage mainimport“fmt”func main()fmt.Println(“Hello,世界”)export GOROOT=$HOME/goexport PATH=$PATH:$GOROOT/bin$go run
3、hello.goHello,世界812年7月21日星期六Hello Worldpackage mainimport“fmt”func main()fmt.Println(“Hello,世界”)export GOROOT=$HOME/goexport PATH=$PATH:$GOROOT/bin$go build hello.go$./helloHello,世界912年7月21日星期六Go特性小结(1)动态语言的写法,静态类型,编译执行模块化的包管理机制,一个脚本即可是一个包包可导出可见成员供包外部使用Go程序执行首调 main.main()函数任何地方都是UTF-8的包括字符串和程序代码101
4、2年7月21日星期六变量var a intvar b stringvar c bool1112年7月21日星期六同时声明多个变量var a intvar b stringvar c boolvar(a int b string c bool)1212年7月21日星期六声明多个同类型变量var a intvar a1 intvar a,a1 int1312年7月21日星期六变量声明默认零值初始化var a int /a=0var b string/b=“”var c bool /c=false1412年7月21日星期六变量声明并赋值var a int=99var b string=“hello”
5、var c bool=falsevar a intvar b stringvar c boola=99b=“hello”c=false1512年7月21日星期六变量声明并赋值(简写)var a int=99var b string=“hello”var c bool=falsea:=99b:=“hello”c:=false(:=仅限函数内使用)1612年7月21日星期六变量声明且并行赋值var a,a1 inta,a1=99,100a,a1:=99,100(:=仅限函数内使用)1712年7月21日星期六匿名变量 _var a,a1 int_,a1=99,100_,a1:=99,100(将100
6、赋值给 a1,同时丢弃99)1812年7月21日星期六声明却未使用的变量package mainfunc main()var a string对声明却未赋值的变量,会导致程序编译失败1912年7月21日星期六Go特性小结(2)变量声明,类型后置,默认零值初始化同类型的多个变量,可在一行内完成声明函数内支持变量同时声明并赋值支持多个变量并行赋值支持匿名变量Go的静态编译是语法检查的第一道单元测试2012年7月21日星期六基本类型bool(true,false)数字内型(有符号/无符号,有长度/无长度)string(内建”UTF-8 string”)array(n)slice(arrayi:j)m
7、ap(map)chanerror2112年7月21日星期六数字类型无长度int,uint有长度int8,int16,int32,int64byte/uint8,uint16,uint32,uint64float32,float642212年7月21日星期六强类型转换(1)var a intvar b int32a=99b=a+1 /Errorb=b+1 /OKb=int32(a)+1/OK2312年7月21日星期六强类型转换(2)var s string=“hello”s0=a/Error/OKs1:=byte(s)s10=as2:=string(s1)字符串一旦定义,不可修改。字符串是字符的
8、序列,不是字节的序列。2412年7月21日星期六多行字符串s1:=“line1.”+“line2.”/ors2:=line1.line2.2512年7月21日星期六常量常量的值只能是 bool、string 或数字类型中的一种。常量名大小写无所谓。const a=99/orconst(a=99 b string=“hello”/类型可选传入)2612年7月21日星期六array定义方式:n,值类型var arr 10intarr0=1arr1=2a1:=.1,2,3a2:=22int 2int1,2,2int3,4 a3:=22int.int1,2,.int3,4 a4:=22int 1,2,
9、3,4 2712年7月21日星期六slice动态数组,引用类型var s=make(,n)s:=arri:j/=arri-arrj-1a:=.int1,2,3,4,5/序号0-4s1:=a2:4/序号2-3,返回3,4s2:=a:/=a0:len(a)s3:=a:4/=a0:4s4:=s1:/=s10:len(s1),-&a2812年7月21日星期六slice appends0:=int0,0s1:=append(s0,1)/int0,0,1s2:=append(s1,s0.)/int0,0,1,0,02912年7月21日星期六slice copyvar a=.int0,1,2,3var s=
10、make(int,2)n1:=copy(s,a0:)/n1=2,s=int0,1n2:=copy(s,a2:)/n2=2,s=int2,33012年7月21日星期六map定义:map声明:make(map)m:=mapstringint“a”:1,”b”:2,”c”:3/遍历for k,v:=range m /.3112年7月21日星期六map/查询v,ok:=m“d”/v=0,ok=false/删除delete m“a”3212年7月21日星期六Go特性小结(3)Go是强类型语言,Duck TypeGo内建 string,slice,map 类型string 是UTF-8的字符序列,非字节序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Go 语言 编程 v100
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内