- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- D TLD 特性.doc
- D425调试顺序.doc
- D4泸定县.doc
- D7000基本菜单设置参考.doc
- D80的使用经验.doc
- D80使用的几个技巧.doc
- DAF贸易术语.doc
- dataGridView自动排列.doc
- David Cole企业培训:全视线耐心培育市场.doc
- David Cole:全视线耐心培育市场.doc
- 手机射频滤波器行业:2020年中国手机射频滤波器行业深度研究报告(202005).pdf
- 人工智能现状报告(202410).pdf
- 数据要素化新阶段的数据基础设施白皮书(2024)-从车厘子自由到数据自由.pdf
- 数字城市公共基础设施建设白皮书.pdf
- 卫星通信市场概览 2024 应对卫星通信市场迅猛增长需要高性价比解决方案 .pdf
- 特朗普新政,中美如何应对-CCG(202411).pdf
- 润泽科技 聚力AIDC,有望长期成长.pdf
- 斯坦福大学发布!《全球人工智能实力排行榜》(英)(202411).pdf
- 人工智能行业应用建设发展参考架构-国家信息中心公共技术服务部(202411).pdf
- 社服2024中期策略:看好休闲游、性价比、银发经济.pdf
文档评论(0)