Go的100天之旅-常量】的更多相关文章

常量 简介 道可道,非常道.这里常道指的永恒不变的道理,常有不变的意思.顾名思义和变量相比,常量在声明之后就不可改变,它的值是在编译期间就确定的. 下面简单的声明一个常量: const p int = 1 声明常量的时候可以指定类型也可以类似:=简单声明一样,不指定类型如下: const p = 1 也可以同时给多个赋值: const i, j = 1, 2 const m, n = 1, "a" 也可以批量的声明: const ( a = 0 b = 1 ) 如果批量的声明,后面的可…
目录 条件语句 if条件语句 switch条件语句 循环语句 for循环 goto语句 条件语句 Go的条件语句和其它语言类似,主要是不支持三目运算符所以?:这种条件判断是不支持的.Go提供的条件判断语句主要有 if 还有 switch这两种形式下面是 if条件语句 if的几种写法,基本上和其它语言是一致的 if 条件 { } else { } if 条件 { } else if 条件 { } else { } switch条件语句 switch和其它语言类似,都是类似下面的写法: switch…
基础数据类型 在变量的定义中,我们讲了每个变量是有类型的,类型在计算机中是用来约束数据的解释.Go语言和其它计算机语言一样,提供丰富了丰富的数据类型,我们就来看看到底有哪些类型,同时也可以比较一下它和其它语言的区别. 整型 整型就是用来表示变量是整数的类型.和C类似,Go整型分为两个大类,无符号和有符号的,有符号简单来说就是能表示负数的类型,无符号就是这个类型没有正负号,统一表示整数.除了符号还有一点就是长度,因为符号和长度就决定了整型的范围.下面是Go整型的分类: 类型 说明 范围 int 整…
变量 变量介绍 变量这个词来源于数学,类似方程中的x.y,代表的是存储在计算机中的值.这里主要介绍Go和其它编程语言不一样的地方,在前面我们提到过,Go是一门静态语言.静态语言区别动态语言一个重要的特性就是变量的类型不可变,一般是在声明的时候就指定类型,之后就不可修改它的类型,而动态语言可以随时修改变量的类型.Go的变量可以在声明的时候不指定类型而是直接赋值,Go会自动根据值判断变量的类型,比如: var i = 1 当然这时i的类型(int)也就确定了之后不能修改i的类型. 也可以声明的时候指…
基本语法 Go关键字 下面是Go的25个关键字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 除了上面25个关键字,Go还有36个预定义符: append bool byte cap close complex complex64 co…
初识Go Go简介 Go的历史 上个世纪70年代Ken Thompson和Dennis M. Ritchie合作发明了UNIX操作系统同时Dennis M. Ritchie发明了C语言. 2007年的Robert Griesemer,Rob Pike和Ken. Thompson三位大牛在Google公司开始编写和设计Go语言. 2009年Go正式宣布推出,版本1.0在2012年3月发布. 版本1.5 新 GC 算法,实现并发标记和清理,增加控制器和辅助回收等 版本1.11 实验性启用版本和依赖管…
目录 数组 Slice 数组 Go的数组和其它语言基本上一样,是长度固定的特定类型元素组成的序列,这基本上是所有语言数组的特性.和其它语言相比差异主要在声明和初始化的写法上,下面是简单声明一个数组: var a [5]int fmt.Println(a[0]) fmt.Println(fmt.Println(a[len(a)-1])) 上面的a是一个长度为5的整数数组,如果没有给定初始值它里面的元素默认值是0.Go数组的下标是从0开始的,len函数返回数组中元素的个数.我们可以在声明数组的时候初…
目录 简介 UTF-8字符 字符串的常用操作 简介 字符串在各种编程语言中都是很基础的一种类型,在Go中字符串简单理解就是一个数组,数组里面的元素是byte类型.因此基本上拥有类似数组的全部特性.例如len可以返回字符串的字节数,注意不是字符的长度: s := "go" fmt.Println(len(s)) //2 也可以根据下标访问该位置的字节 s := "go" fmt.Println(s[0]) //103 字符g的ASCII码 字符串也可以类似切片的操作,…
1概述 一个C++程序就是一系列数据与操作的集合.当一个C++程序开始运行的时候,与该程序相关的数据就会被加载到内存中.当数据与内存发生关联的时候,这些数据就会具有如下的特性: 数据在内存中的地址.这个地址决定了数据在内存中的存储位置.在32位的系统中,每一个C++程序都具有4GB大小的内存地址空间,这个4GB大小的内存空间又被划分为若干个区域,如:栈区,堆区,全局(静态)区,文字常量区,以及程序代码区.不同内存地址的数据将会被存储在不同的内存区域中: 数据在内存中的值.如果该值可变,那么该数据…
常量就是在程序运行中不可变化的量. #define #define MAX 100 定义了一个常量名字叫MAX,值是100,用#define定义的常量一般用大写字母. #define是一个预编译指令,在预编译阶段,被define定义的常量只是简单的做一个文本替换. MAX = 10;这是错误的,常量的值在程序运行期间不可以改变 用define定义的常量叫宏常量,所以有时候也叫定义了一个宏 在c语言中,更多使用宏. const const int a = 100; // 定义了一个int型的常量,…
C++类中的常量 由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用 const 修饰数据成员来实现.const 数据成员的确是存在的,但其含义却不是我们所期望的.const 数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其 const 数据成员的值可以不同.   不能在类声明中初始化 const 数据成员.以下用法是错误的,因为类的对象未被创建时,编译器不知道 SIZE 的值是什么. class A  {   co…
const const最好理解,修饰的东西不能被修改 指针类型根据位置的不同可以理解成3种情况: I 常量指针 // 初始化之后不能赋值,指向的对象可以是任意对象,对象可变. NSString * const pt1; II 指向常量的指针 // 初始化之后可以赋值,即指向别的常量,指针本身的值可以修改,指向的值不能修改 const NSString * pt2; III 指向常量的常量指针 const NSString *  const pt3; extern 等同于c,全局变量的定义, //…
(1) 编译器处理方式不同 define宏是在预处理阶段展开. const常量是编译运行阶段使用. (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开. const常量有具体的类型,在编译阶段会执行类型检查. (3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存. const常量会在内存中分配(可以是堆中也可以是栈中). (4)const  可以节省空间,避免不必要的内存分配. 例如:          #define PI 3…
我们在以往介绍使用JavaScript编写一个HelloJS的小程序,其中我们就用到变量.常量和变量是构成表达式的重要组成部分.常量在声明和初始化变量时,在标识符的前面加上关键字const,就可以把该指定为一个常量.顾名思义,常量是其值在使用过程中不会发生变化,实例代码如下:const NUM=100;NUM标识符就是常量,只能在初始化的时候被赋值,我们不能再次给NUM赋值.变量在JavaScript中声明变量,是在标识符的前面加上关键字var,实例代码如下:var scoreForStuden…
由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用const 修饰数据成员来实现.const 数据成员的确是存在的,但其含义却不是我们所期望的.const 数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其 const 数据成员的值可以不同.   不能在类声明中初始化 const 数据成员.以下用法是错误的,因为类的对象未被创建时,编译器不知道 SIZE 的值是什么. class A { const int SIZE…
1:关键字 (1)被Java语言赋予特定含义的单词 (2)特点: 全部小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记 2:标识符 (1)就是给类,接口,方法,变量等起名字的字符序列 (2)组成规则: A:英文大小写字母 B:数字 C:$和_ (3)注意事项: A:不能以数字开头 B:不能是java中的关键字 C:区分大小写 (4)常见的命名规则(见名知意) A:包 其实就是文件夹,用于把相同的类名进行区分…
5.1  为什么需要常量 1)为了便于用户理解,增加程序的可读性. 2)在程序的很多地方都用到同一个常量,用某一个宏常量来定义可以减少错误. 规则:尽可能的使用含义直观明确的常量来表示程序中多次出现的数字或者字符串 5.2  #define  vs   const      一般在C里面一般用#define,而在C++中,更喜欢用const,因为const有很多类型.而define没有类型检查这一说,只是单纯的进行字符替代. 规则:C++中,程序一般使用const常量而不使用宏常量,即const…
一keyword keyword概述:Java语言中有一些具有特殊用途的词被称为keyword.keyword对Java的编译器有着特殊的意义.在程 序中应用时一定要谨慎. keyword特点:组成keyword的字母所有小写. keyword注意事项:goto和const作为保留字存在,当前并不使用. Java中经常使用的50个keyword(48个加2个保留字,就当背英文单词啦): keyword     描写叙述 abstract    抽象方法.抽象类的修饰符 assert    断言条…
常量是一种标识符,它的值在执行期间恒定不变.C语言用 #define来定义常量(称为宏常量). C++ 语言除了 #define外还能够用const来定义常量(称为const常量). 一.为什么须要常量 假设不使用常量,直接在程序中填写数字或字符串.将会有什么麻烦? (1).程序的可读性(可理解性)变差.程序猿自己会忘记那些数字或字符串是什么意思.用户则更加不知它们从何处来.表示什么. (2).在程序的非常多地方输入相同的数字或字符串,难保不发生书写错误. (3).假设要修改数字或字符串,则会在…
一.运行第一个python程序: print('Hello,world') 保存为.py文件 在cmd窗口: python3x:python  py文件路径 回车 python2x:python  py文件路径 回车 重命名,python2 不改的话,输python,先安装那个使用那个 #-*- encoding:utf-8print('我爱我家') python3-->正常显示 python2-->编码错误 python2,3的区别: python2的默认编码方式是Ascii码 python…
#define RADIUS 100; const  float   RADIUS = 100; (1) 编译器处理方式不同 define宏是在预处理阶段展开. const常量是编译运行阶段使用. (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开. const常量有具体的类型,在编译阶段会执行类型检查. (3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存.(宏定义不分配内存,变量定义分配内存.) const常量会在内存中分配…
数据类型转换 Go语言采用数据类型前置加括号的方式进行类型转换,格式如:T(表达式).T表示要转换的类型:表达式包括变量.数值.函数返回值等. var a int =100 b := float(a) 常量 常量中的数据类型只可以是布尔型.数字型(整型.浮点型和复数型)和字符串 const 标识符 [类型] = 值 const PREFIX = "http://" 常量用于枚举 Go语言现阶段没有提供枚举,可以使用常量组模拟枚举.假设数字0.1和2分别代表未知性别.女性和男性 cons…
前言 有时我们希望某些常量只在类中有效.由于#define定义的宏常量是 全局 的,不能达到目的,于是想当然地觉得应该用 const修饰 数据成员来实现.const数据成员的确是存在的,但其含义却不是我们所期望的.const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其const数据成员的值可以不同. 正题 (1)不能在类声明中初始化 const 数据成员.以下用法是错误的,因为类的对象未被创建时,编译器不知道 SIZE 的值是什么. cla…
参考:http://blog.csdn.net/jackfrued/article/details/44921941 说未经允许不转载,我只好参考了. 1.面向对象的特征有哪些方面? 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么. 继承:继承是从已有类得到继承信息创建新类的过程.提供继承信息的类称为父类(超累,基类):得到继承信息的类被称为子类(派生类).继承让变换中的软件系统有了一定的延续性.同…
转义字符 #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h> void main1() { char ch = getchar(); //获取一个字符 putchar(ch); //输出一个字符 system("pause");} C判断是0和非0,java.php等只有0和1\a响铃0 48A 65a 97进制要弄得非常清楚 内存如何存放数据和指令同一个时间,内存空间里只能保存一…
本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var  Str: string[32];  StrLen: Byte absoluteStr; //这个声明指定了变量StrLen起始地址与Str相同. //由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度. begin Str…
推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐   2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐   2001-7-18至 2001-7-24 朱洪海审查V 0.9, 林锐修正草稿中的错误                     目录 前言... 6 第1章文件结构... 11 1.1 版权和版本的声明... 11 1.2 头文件的结构... 12 1.3 定义文件的结构... 13 1.4 头文件的作…
1.变量概述及特殊变量初始化 a.引用 b.常量 c.静态 d.静态常量(整型) e.静态常量(非整型) 初始化:常量和引用,必须通过参数列表进行初始化. 静态成员变量的初始化也颇有点特别,是在类外初始化且不能再带有static关键字静态成员属于类作用域,但不属于类对象,和普通的static变量一样,程序一运行就分配内存并初始化,生命周期和程序一致.所以,在类的构造函数里初始化static变量显然是不合理的.静态成员其实和全局变量地位是一样的,只不过编译器把它的使用限制在类作用域内(不是类对象,…
absolute //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var Str: string[32]; StrLen: Byte absolute Str; //这个声明指定了变量StrLen起始地址与Str相同. //由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度. begin Str := 'abc'; Edit1.Text := IntToStr(StrLen); end; abstract //它允许你创建抽象的方法, 包括有抽…
高质量C++/C编程指南 文件状态 [  ] 草稿文件 [√] 正式文件 [  ] 更改正式文件 文件标识: 当前版本: 1.0 作    者: 林锐 博士 完成日期: 2001年7月24日 版 本 历 史 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐 2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐 2001-7-18至 2001-7-24 朱洪海审查V 0.9, 林锐修正草稿中的错误  目 录 前 言 第1章 文件结构 1.1 版权和版本的…