让我们一起Go(十)
来源:互联网 发布:手游录屏软件 编辑:程序博客网 时间:2024/06/09 22:49
前言:
本系列还没流产,继续难产中,哈哈,只怪我没专心,在期间又偷偷去学了python,ruby,scala,haskell这几种语言,如果你不幸是本系列的读者,那么你得慢慢等后面的了,等不及可以过几年再来看看啊^_^。因为,Go语言没那么迫切需要用到,而且个人兴趣比较广泛,要玩的东西太多了,自然暂时无法一口气完成Go的学习。对于读者,只能说非常抱歉啦。废话不多说了,今天补上一篇。
Go语言之枚举定义:
在Go语言中通过关键字const来定义枚举,const之前我们也遇到过,它用来定义常量,小样还挺厉害,还能定义枚举:
上面的例子中,定义了一个关于星期的枚举,当打印Friday时候输出5。打印Sunday输出0。其实,在Go语言中,枚举似乎就是常量一种特殊形式,只不过在上述代码中出现了关键字iota,这个是一个非常有用的东西,可以帮你省写很多东西,在上面他会初始化为0,然后每一行就会增加1,因此可以认为是一个自增量。于是我们就不必这样写了:Sunday=1 Monday=2……一个iota帮你解决一切烦恼,而且在后续中还能对iota进行操作:例如可以Monday = iota*2于是Monday就等于2了。上面说到一行定义一个iota会自增赋值给常量,那么可以一行定义多个吗?答案是可以,但是必须得明确指定值,不然会报错:
发现上面枚举的值都是整数,当然其它类型的也可以,只要相应的赋值就行了,如Sunday = "sun"。
Go语言之结构体定义:
结构体,对于学过C语言的应该很熟悉,对于C这样的语言,没有类的概念,结构体在很大程度上是作为封装的主要方式,那么在Go语言中。结构体又是如何的呢?请往下看:
发现和c语言差不多么,如果仔细看你会发现结构体中的Name首字母N是大写的,而age的首字母a是小写的。这可不是随便的哦。虽然这里我是随便的。在Go语言中如果结构的Field首字母大写,那么它是public的,可以在package外访问。而age首字母是小写的,那么它只能在本package中被访问。是否和java中类的字段用private关键字或者public定义类似呢?
上述代码中我们声明并初始化st变量是一起进行的,当然也可以分开:
还有一种方式可以这样:
ok,今天就都这里,以后再继续,让我们一起GoGoGo,享受编程的快乐......
- 作者:Sirk
- 出处:http://www.cnblogs.com/vimsk
- 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- 让我们一起Go(十)
- 让我们一起Go(一)
- 让我们一起Go(二)
- 让我们一起Go(三)
- 让我们一起Go(四)
- 让我们一起Go(十一)
- 让我们一起Go(十二)
- 让我们一起Go(十三)
- 让我们一起Go(五)
- 让我们一起Go(六)
- 让我们一起Go(七)
- 让我们一起Go(八)
- 让我们一起Go(九)
- 让我们一起学习go语言
- 让我们一起做到新时代青年的十点要求!
- 摩卡,让我们一起成长
- 让我们一起挑战吧!
- 今天,让我们一起努力
- Java读书笔记二(封装类)
- Markdown学习资源
- 深入浅出AOP(三)--WCF+AOP
- openstack初始化Glance数据库时报错解决方案
- 栈类模板的使用
- 让我们一起Go(十)
- USB Type C数据线接线方式、工作原理
- 最短路的小结
- 程序员是否只是”青春饭”一种概念
- 开篇:一个前端的学习成长之路
- error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMT.
- 让我们一起Go(十一)
- Android Activity切换动画(解决back键后退失效问题)
- 让我们一起Go(十二)