前言:

本系列还没流产,继续难产中,哈哈,只怪我没专心,在期间又偷偷去学了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,享受编程的快乐......

让我们一起Go(十)的更多相关文章

  1. 前端开发中SEO的十二条总结

    一. 合理使用title, description, keywords二. 合理使用h1 - h6, h1标签的权重很高, 注意使用频率三. 列表代码使用ul, 重要文字使用strong标签四. 图片 ...

  2. 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  3. 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车

     阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...

  4. CSS十问——好奇心+刨根问底=CSSer

    最近有时间,想把酝酿的几篇博客都写出来,今天前端小学生带着10个问题,跟大家分享一下学习CSS的一些体会,我觉得想学好CSS,必须保持一颗好奇心和刨根问底的劲头,而不是复制粘贴,得过且过.本人能力有限 ...

  5. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  6. 谈谈一些有趣的CSS题目(十)-- 结构性伪类选择器

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  7. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  8. CRL快速开发框架系列教程十(导出对象结构)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  9. 【NLP】十分钟快览自然语言处理学习总结

    十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...

  10. 十分钟玩转 jQuery、实例大全

    一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQuery对象 jQuery产 ...

随机推荐

  1. 将外卖O2O广告一棍子打成竞价排名,秤把平了吗?

    近日,诸多媒体报道称美团外卖.饿了么等外卖O2O将竞价排名引入外卖平台当中进行广告运营一事闹得沸沸扬扬.那么,美团外卖.饿了么真的都是竞价排名吗? 其实,美团外卖的付费推广仅仅只是针对列表的固定位置, ...

  2. Jquery对Cookie的操作

    第一步:先引用jQuery的插件jquery-1.9.1.min.js 第二步:引用jquery.cookie.js插件 下对cookie的操作: $.cookie("cookieName& ...

  3. Django基础——Form&Ajax篇

    一 Form 在实际的生产环境中,登录和注册时用户提交的数据浏览器端都会使用JavaScript来进行验证(比如验证输入是否为空以及输入是否合法),但是浏览器可能会禁用JavaScirpt,同时也有人 ...

  4. SAP Business One SAP B1功能概述

    SAP Business One SAP B1功能概述 SAP B One配有易于使用的软件界面,是一款全面的,多功能的业务管理解决方案,贵企业可以将其用作主要的企业资源(ERP)应用程序. 该解决方 ...

  5. VC基于消息的异步套接字

    用WSAStartup,需要在StdAfx.h头文件中需要声明 #include    #pragma   comment(lib,"WS2_32.lib") 用AfxSocket ...

  6. Linux下远程桌面Windows

    rdesktop-1.7.0.tar.gz [root@localhost fcitx]# tar rdesktop-1.7.0.tar.gz [root@localhost fcitx]#cd rd ...

  7. Bootstrap3.0入门学习系列规划[持续更新]

    详情请看http://aehyok.com/Blog/Detail/5.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:http ...

  8. ftp如何预览图片 解决方案

    下载使用 server-U ,开启 HTTP 服务,输入 http://ip:端口 后,登录ftp账号密码,可选使用 基于java的应用 web client 或 FTP Voyager JV,来预览 ...

  9. [转] 配置Log4j

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  10. 【实用技巧】取消Win7开机账户的手动选择

    因为前面碰到的一些事情,稍有感慨. 关于win7的一些小技巧都不是什么很有技术含量东西,或者说很浅显.我说一个技巧,也许很多人都知道,也许也早有人说过.但我想说的是我不是在炫耀什么,我只是想分享一些我 ...