go的常量与变量
一、常量
1.1 定义
常量使用关键字const 定义,用于存储不会变化的数据
定义方法 const identifier [type] = value
package main
// 常量定义
const P float64 = 3.14159
// 简短而优雅的写法
const(
CODE_STATUS = 100
START_NUM int = 1
START_NUM1 // 自动 延用上一行的数据值 1,
)
func main(){
}
1.2 常量定义的注意事项
1、常量名 最好大写,已区分于变量
2、常量定义后是可以不使用的
3、常量的定义可以不写 数据类型和变量一样,因为go编辑器会自动识别
4、常量的数据必须是不可变的,也就是必须是确定下来的数据
不规范的列子:
const NUM int = getNum() // getNum 函数的不获取是不确定的,所以不行
5、在一个const 内,如果一行没有赋值,则会默认赋值上一行的数据直至有值可以赋值
1.3 关于iota 的使用
用法 const identifier = iota
iota 就是int 类型
package main
const(
A int = iota // 0
B // 1
C // 2
)
const(
D = iota // 0
E ="jmz" // jmz
F // jmz
G = iota // 3
H = iota * 2 // 8
I // 10
J = iota // 6
K // 7
)
func main(){
}
1.4 iota 的讲解
1、iota 每一次开始值 都为0
2、iota 每遇到const ,都会从0开始
3、iota 在一个const内是每一行都会自动+1
二、变量
2.1 变量声明
var identifiter [type]
- 第一种 声明后再赋值
var v_name v_type
v_name = value
- 第二种 声明的过程中赋值
var v_name v_type = value
- 第三种 简单声明
v_name := value
- 第四种 优雅的声明方式
var (
v_name1 v_type = value
v_name2 = value2
v_name3 v_type3
)
2.2 多变量声明
var vname1,vname2,vname3 int = 1,2,3 // 多变量声明指明了类型所以后面都必须是该类型
var v1,v2,v3 = 23,"aaa","obj" // 多变量声明,没有指明类型,go编辑器会自动添加变量类型的
a1,a2,a3,a4 := 1,2,"3",'3' 多变量简短声明
2.3 声明与赋值
1、关于值类型变量的声明,go编辑器会自动赋予该变量初始值
int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil,引用类型变量为nil
记住所有的内存在 Go 中都是经过初始化的。
2、变量尽量遵循驼峰命名法
如:userName,startDate
3、变量声明后不能再次声明,否则会报错
简短声明中 只要有一个未声明,就不会报错
如:
num := 0
num,ok := iName.(int) // 这是断言,返回两个值
三、值类型与引用类型
在go 中有两个数据类型 值类型和引用类型,我数据类型中,具体讲解
&变量 可以获取变量的地址
如:
num := 12
println(&num)
值类型:
1、变量 直接指向 内存中的值
2、将一个变量 赋值给 另一个变量,实际是对内存中的值进行了拷贝
3、值类型的变量的值存储在栈中
引用类型:
1、引用类型的变量存储的是内存值所在的地址(数字),内存地址中第一个字所在的位置
2、将一个引用类型变量 赋值给 另一个引用类型变量,实际只是引用(地址)的复制
那些事值类型,那些事引用类型,请看下一章
如果喜欢看小说,请到183小说网
go的常量与变量的更多相关文章
- swift 简介和常量与变量 --- swift 入门
一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...
- .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]
注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释 以//开头,后面的就是注释内容 ...
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...
- 数据类型、常量、变量、printf、scanf和运算符
数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式. C语言中有5大数据类型:基本类型.构造类型.指针类型.空类型.定义类型. C语言 ...
- 【C语言】C语言常量和变量
目录: [常量] · 定义 · 分类 · 特殊字符型常量 [变量] · 定义 · 定义变量 · 变量的使用 · 变量使用注意 · 变量常见问题 1.常量 · 定义 常量 ...
- 【C语言入门教程】2.2 常量 与 变量
2.2 常量 与 变量 顾名思义,常量是运算中不能改变数值的数据类型,变量是可改变数值的数据类型.根据需要,可将一些在程序中不必改变数值的类型定义为常量,这样也可避免因修改数值造成程序错误.任何改变常 ...
- 02_Swift2基础之常量和变量+注释+分号
1. 常量和变量 常量 和 变量 把一个名字(比如 'number' 或者 'welcomeMessage')和一个指定类型的值(比如数字'10'或者字符串 ' "Hello" ' ...
- C语言回顾-常量和变量
1.C语言共32个关键字 1)数据类型关键字 a.基本数据类型 void char int float double b.类型修饰关键字 short long signed unsigned c.复杂 ...
- Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...
- 不可或缺 Windows Native (2) - C 语言: 常量,变量,基本数据类型
[源码下载] 不可或缺 Windows Native (2) - C 语言: 常量,变量,基本数据类型 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 常量 变量 基本 ...
随机推荐
- element ui 日期控件范围时间限制记录、以及计算两个日期之间的天数
日期的筛选经常会有最小的日期选择,例如:当前日期 :clearable="false" :picker-options="pickerOptions0" val ...
- PAT_A1003#Emergency
Source: PAT A1003 Emergency (25 分) Description: As an emergency rescue team leader of a city, you ar ...
- Linux内核源码特殊用法
崇拜并且转载的: http://ilinuxkernel.com/files/5/Linux_Kernel_Source_Code.htm Linux内核源码特殊用法 1 前言 Linux内核源码主要 ...
- uva-679 Dropping Balls UVA - 679
题目大意 总共有一个深度为D的满二叉树,I个小球,每个节点具有开关,小球经过节点后节点开关会有变化,初始都关闭,若关闭往左右否则往右走 只需要循环一下每层的情况即可 代码 #include <b ...
- 费用最少的一款赛门铁克SSL证书
Symantec Secure Site SSL证书,验证域名所有权和企业信息,属于Symantec Class 3企业(OV)验证 级SSL证书,为40位/56位/128/256位自适应加密,目前连 ...
- 完全卸载VS2013的方法
解压安装包的ISO文件,然后进入到根目录运行命令行: vs_ultimate.exe /uninstall /force 注意:比如ISO是Update 5的,那么卸载的只能是Update 5安装的内 ...
- 关于创建Android Library所须要知道的一切
关于创建Android Library所须要知道的一切 Android 库(Library)在结构上与 Android 应用模块同样.应用模块所能够包括的东西.在库中都同意存在,包括代码文件.资源文件 ...
- 2.3-STP生成树
2.3-STP生成树 单点失效(signle point of failure)及其解决方法: 当两个Segement之间只有一条物理连接时就有可能出现单点失效→ 单方面的故障导致全网 ...
- Codeforces Round #390 (Div. 2) D. Fedor and coupons
题意:题目简化了就是要给你n个区间,然后让你选出k个区间 使得这k个区间有公共交集:问这个公共交集最大能是多少,并且输出所选的k个区间.如果有多组答案,则输出任意一种. 这题是用优先队列来处理区 ...
- [深入学习C#]输入输出安全性——可变类型形參列表的变化安全性
可变类型形參列表(variant-type-parameter-lists) 可变类型形參列表(variant-type-parameter-lists )仅仅能在接口和托付类型上出现.它与普通的ty ...