Go语言学习笔记(2)——变量、常量
1. 变量(变量由字母、数字和下划线组成,且不能以数字开头!)
1.1 第一种
var name type // 未赋值时使用默认值
name = value
1.2 第二种: 根据所赋的值,自行判断变量类型
var name = value
1.3 第三种: 省略var(这种方式只能用于函数体内,而不能用于全局变量的声明与赋值)
name := value // := 左侧的变量应该是未声明过的
(多个变量同时声明时,至少保证有一个新变量)
eg:
var a int = 10
var b = 10
a, c := 8, 10 //仅在函数体内使用,其中c为新变量
1.4 多变量声明
第一种:以逗号分隔,声明与赋值分开
var a, b, c (int)
a, b, c = 1, 2, 3
第二种: 直接赋值,多个变量可以是不同类型
var a, b, c = v1, s2, n3
第三种: 集合类型
var (
name1 type1
name2 type2
)
注意:如果声明了一个局部变量却没有在该代码块中使用它(单纯地赋值不算使用),此时会得到编译错误!!!
2. 常量
2.1 显式类型定义:
const a string = "123"
2.2 隐式类型定义:
const a = "123"
2.3 枚举:
const (
Unknown = 0
Female = 1
Male = 2
)
“不是枚举”——当常量组中的常量不指定类型和初始化值,则其类型与上一行非空常量右值相同!
const (
x uint16 = 16
y
m = "abc"
n
)
// 所以,其中y是uint16类型,n是string类型
2.4 特殊常量 iota —— 一个可以被编译器修改的常量。在每一个const关键字出现时,被重置为0。然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。
const (
a = iota //1
b = iota //2
c = iota //3
)
可以简写为如下形式:
const (
a = iota //1
b //2
c //3
)
♦下面这个例子一定要认真看看:
const (
a = iota // 0
b // 1
c // 2
d = "ha" // 独立值,iota += 1 ("中断自增"——iota依然在计数,按照行序自增。)
e // "ha" iota += 1
f = 100 // iota += 1
g // 100 iota += 1
h = iota // 7,恢复计数(必须显式恢复自增)
i // 8
)
fmt.Println(a, b, c, d, e, f, g, h, i)
输出结果:0 1 2 ha ha 100 100 7 8
3. 基本数据类型
3.1 布尔型bool: 常量true和false
3.2 整型
int8 有符号8位整型 (-128 到 127) uint8 无符号8位整型 (0 到 255)
int16 有符号16位整型 (-32768 到 32767) uint16 无符号16位整型 (0 到 65535)
int32、 int64、 uint32、 uint64
其它:byte类似于uint8, rune类似于int32, uint——32或64位, int与uint大小一样,
uintptr 无符号整型,用于存放一个指针。
3.3 浮点型
float32 32位浮点数, float64
complex64 32位实数和虚数(复数), complex128
3.4 字符串型 string.
Go语言学习笔记(2)——变量、常量的更多相关文章
- Go语言学习笔记三: 常量
Go语言学习笔记三: 常量 定义常量 常量就是在声明后不能再修改的量. const x int = 100 const y string = "abc" const z = &qu ...
- [C语言学习笔记四]变量与系统的交互
使用 const 创建常量和使用 volatie 优化变量 C语言中使用 const 定义常量. 例如: const INT a = 10; 此处如果添加a = 20;,编辑器则会报错,因为此处 a ...
- Go语言学习笔记(二) [变量、类型、关键字]
日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号. 2.Go 同其他语言不同的地方在于变 ...
- c语言学习笔记 const变量
在c语言的编程过程中经常会遇到有常数参加运算的运算,比如这种. int a=100*b; 这个100我们叫常数或者叫常量,但是程序中我们不推荐这种直接写常数的方法,有两个缺点. 第一是程序可读性差. ...
- python的学习笔记01_2变量 常量 注释 用户交互 格式化输出
变量是什么? 变量的作用 Variables are used to store information to be referenced and manipulated in a computer ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 常量
常量是固定值,在程序执行期间不会改变.这些固定的值,又叫做字面量. 常量可以是任何的基本数据类型,可分为整型数字.浮点数字.字符.字符串和布尔值. 常量就像是常规的变量,只不过常量的值在定义后不能进行 ...
- Go语言学习笔记1 变量,类型以及赋值
1.变量 1.1 声明变量 使用var关键字可以创建一个指定类型的变量: var i int = 0 var i = 0 var i int 以上三个表达式均是合法的,第三个表达式会将i初始化为int ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- GO语言学习笔记(一)
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...
随机推荐
- 关于document.write(来自网络)
对象属性: document.title //设置文档标题等价于HTML的<title>标签document.bgColor / ...
- Json和XML解析
NSXMLParse 关于XML,有两种解析方式,分别是SAX(Simple API for XML,基于事件驱动的解析方式,逐行解析数据,采用协议回调机制)和DOM(Document Object ...
- 2018.10.20 NOIP模拟 面包(数学期望)
传送门 把方差的式子拆开. 方差=平方的期望-期望的平方. 显然只用维护点对的个数和总方案数就行了. 利用分步的思想来统计. 要统计覆盖一个矩形(x1,y1,x2,y2)(x1,y1,x2,y2)(x ...
- HDU 2161 Primes (素数筛选法)
题意:输入一个数判断是不是素数,并规定2不是素数. 析:一看就很简单吧,用素数筛选法,注意的是结束条件是n<0,一开始被坑了... 不说了,直接上代码: #include <iostrea ...
- LA 3602 DNA Consensus String (暴力枚举)
题意:给定m个长度为n的DNA序列,求一个最短的DNA序列,使得总Hamming距离最小. Hamming距离等于字符不同的位置个数. 析:看到这个题,我的第一感觉是算时间复杂度,好小,没事,完全可以 ...
- python编码(二)
谈谈Unicode编码,简要解释UCS.UTF.BMP.BOM等名词 问题一 使用Windows记事本的“另存为”,可以在GBK.Unicode.Unicode big endian和UTF-8这几种 ...
- opencv学习_4(opencv基础数据结构 CvPoint & CvSize & CvRect & CvScalar & CvArr & CvMat)
1:包含在cxcore/include/cxtypes.h头文件中. 2:CvPoint系列 -----(x,y) CvPoint:表示图像中的点 CvPoint2D32f:二维空间中的点 CvP ...
- java web基础之mvc模式设计(一)--使用httpservlet实现mvc分层设计,DAO层使用的是dbutils实现与数据库的链接
一:1.最终的实现效果图: 2.案例的目录结构: 3.案例中使用到的jar包: 二:案例的链接数据库的层次结构关系:数据库是:mysql ,数据库名字:dsm,表格名字:customers 数据库表格 ...
- colorbox在android上由于高度太高无法scroll问题
首先看问题截图: 我们可以看到弹出的colorbox页面的高度已经到了下面,你根本看不到"mistake cross"<=>"X". 我测试了iph ...
- 最佳编程字体:M+
英文原文:The Best Font for Programming: M+ 程序员的最佳等宽字体是 M+. 一个偶然机会遇到了这个字体,在命运多舛的 kod 编辑器体验了.这个字体非比寻常,我坚持 ...