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 语言 常量 变量 基本 ...
随机推荐
- js 滚动条
<script type="text/javascript"> //文档高度1016 包含隐藏的margin和padding 实际1000 //文档1000 //窗口高 ...
- node里读取命令行参数
一.process.env process.env属性返回一个包含用户环境信息的对象. 最常见的需求,前端需要根据不同的环境(dev,prd),来调用不同的后端接口.如果用webpack,是这么做的: ...
- CAD当前选择实体发生变化调用事件(com接口)
主要用到函数说明: _DMxDrawXEvents::SelectModified 当前选择实体发生变化,会调用该事件,详细说明如下: 参数 说明 IDispatch* pAryId 当前被选择的实体 ...
- centos 7.x 安装开源堡垒机Jumpserver
环境 虚拟机 系统:centos 7 IP:192.168.168.8 目录:/opt 代理:nginx 数据库:mysql 版本大于等于 5.6 mariadb 版本大于等于 5.5.6 更新 ...
- 【codeforces 785E】Anton and Permutation
[题目链接]:http://codeforces.com/problemset/problem/785/E [题意] 给你一个初始序列1..n顺序 然后每次让你交换任意两个位置上面的数字; 让你实时输 ...
- Industrial Nim
http://codeforces.com/contest/15/problem/C 题意: 现有n个采石场,第i个采石场有mi堆石子 各堆分别有xi,xi+1……,xi+m-1颗石子 两名选手使用最 ...
- Maven学习总结(9)——使用Nexus搭建Maven私服
1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...
- 调度器Quartz的配置文件中的线程池设置
在使用调度器Quartz来进行数据归档的时候,当我们开的定时任务很多的时候,就会出现一些定时任务不会被触发的现象,这就是线程阻塞.那到底什么叫线程阻塞呢? 线程阻塞,顾名思义就是说线程被阻塞了,没有按 ...
- gh-ost 号称是不需要触发器(Triggerless)支持的在线更改表结构的工具
https://segmentfault.com/a/1190000006158503?utm_source=tuicool&utm_medium=referral
- Bootstrap:解决Bootstrap下拉框需要双击才能打开的问题
当使用AngularJS和Bootstrap时,会发生菜单栏navbar控件 需要点击两下才能打开的问题.解决的方法就是在页面加载后,执行如下语句: // 防止下拉菜单需要双击的bug $('.dro ...