GO关键字.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GO关键字

GO关键字 Name of the song :BorrowMoney ;SpendSalary break default func ******************interface interface是一组method的组合,我们通过interface来定义对象的一组行为。 interface在我们需要存储任意类型的数值的时候相当有用,因为它可以存储任意类型的数 值。 // 定义a为空接口 var a interface{} var i int = 5 s := Hello world // a可以存储任意类型的数值 a = i a = s interface变量存储的类型 我们知道interface的变量里面可以存储任意类型的数值(该类型实现了interface)。那么我们 怎么反向知道这个变量里面实际保存了的是哪个类型的对象呢?目前常用的有两种方法: · Comma-ok断言 Go语言里面有一个语法,可以直接判断是否是该类型的变量: value, ok = element.(T), 这里value就是变量的值,ok是一个bool类型,element是interface变量,T是断言的类 型。 如果element里面确实存储了T类型的数值,那么ok返回true,否则返回false。 · switch测试 这里有一点需要强调的是:element.(type)语法不能在switch外的任何逻辑里面使用,如 果你要在switch外面判断一个类型就使用comma-ok。 select case **************defer Go语言中有种不错的设计,即延迟(defer)语句,你可以在函数中添加多个defer语句。 当函数执行到最后时,这些defer语句会按照逆序执行,最后该函数返回。特别是当你在进 行一些打开资源的操作时,遇到错误需要提前返回,在返回前你需要关闭相应的资源,不 然很容易造成资源泄露等问题 go **************map map也就是Python中字典的概念,它的格式为map[keyType]valueType map多了很多类型,可以是int,可以是string及所有完全定 义了==与!=操作的类型。 使用map过程中需要注意的几点: · map是无序的,每次打印出来的map都会不一样,它不能通过index获取,而必须 通过key获取 · map的长度是不固定的,也就是和slice一样,也是一种引用类型 · 内置的len函数同样适用于map,返回map拥有的key的数量 · map的值可以很方便的修改,通过numbers[one]=11可以很容易的把key为one 的字典值改为11 // map有两个返回值,第二个返回值,如果不存在key,那么ok为false,如果存在ok为true csharpRating, ok := rating[C#] struct ***************chan gotoutine 之间数据的通信机制channel,可以通过它发送或者接收值。 这些值只能是特定的类型:channel类型。定义一个channel时; 也需要定义发送到channel的值的类型。使用make 创建channel else **************goto Go有goto语句——请明智地使用它。用goto跳转到必须在当前函数内定义的标签。例如假 设这样一个循环: func myFunc() { i := 0 Here: //这行的第一个词,以冒号结束作为标签 println(i) i++ goto Here //跳转到Here去 } 标签名是大小写敏感的。 package switch **************const 在Go程序中,常量可定义为数值、布尔值或字符串等类型。 **************fallthrough Go里面switch默认相当于每 个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。 **************if Go里面if条件判断语句中不需要括号 Go的if还有一个强大的地方就是条件判断语句里面允许声明一个变量,这个变量的作用域 只能在该条件逻辑块内,其他地方就不起作用了 range type continue for import return **************var :=这个符号直接取代了var和type,这种形式叫做简短声明。 不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所 以一般用var方式来定义全局变量。var vname1, vna

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档