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 语言 常量 变量 基本 ...
随机推荐
- groupbox
使用groupbox将radiobox 放入其中可以使组框中只选中一个
- java静态变量、实例变量和局部变
实例变量又称成员变量: 1⃣️成员变量定义在类中,在整个类中都可以被访问 2⃣️成员变量随着对象的建立而建立,随对象的消失而消失,存在于对象所在的对内存中 3⃣️成员变量有默认初始值 局部变量: 1⃣ ...
- CVPR 2017 Paper list
CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...
- Python编码格式导致的csv读取错误
Python编码格式导致的csv读取错误(pandas.read_csv) 本文记录python小白我今天遇到的这两个问题(csv.reader和pandas.csv_read): pandas模块“ ...
- 蓝桥-区间K大数查询
问题描述: 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个 ...
- DP背包问题小总结
DP的背包问题可谓是最基础的DP了,分为01背包,完全背包,多重背包 01背包 装与不装是一个问题 01背包基本模型,背包的总体积为v,总共有n件物体,每件物品的体积为v[i],价值为w[i],每件物 ...
- SQL上门2
SQL高级教程学习 MySQL的字符匹配和其他数据库不同,一下语句查找(第一个字符不是h,第三个字符是m)不能用“!” select * from country where countryname ...
- 我的ArcGis9.3 到Arcgis10.0 升级步骤
因为之前一直安装的是Arcgis 9.3 版本,领导发了个10.0版本说,该升级了,结果就开始了漫漫的升级路. 个人操作过程,只是个别. 一.卸载Arcgis9.3 这个过程真说是艰辛啊. 首先,卸载 ...
- SVN学习总结(3)——分支合并
首先在主干trunck上,创建分支branch1.0.0,如下图: 从主干切换到branch1.0.0,在branch1.0.0中添加test.java文件, 分支与主干的合并,首先应将主干trunc ...
- 2017沈阳网络赛hdu6199 gems gems gems
gems gems gems Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) P ...