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 语言 常量 变量 基本 ...
随机推荐
- centOS Linux下用yum安装mysql
centOS Linux下用yum安装mysql 第一篇:安装和配置MySQL 第一步:安装MySQL [root@192 local]# yum -y install mysql- ...
- CAD得到自定义实体拖放夹点(com接口VB语言)
主要用到函数说明: MxDrawXCustomEvent::MxDrawXCustomEntity::getGripPoints 自定义实体事件,得到拖放夹点,详细说明如下: 参数 说明 LONGLO ...
- rsync 3.1.3
rsyncd.conf 2018年1月28日 rsyncd配置(5) 2018年1月28日 姓名 rsyncd.conf配置rsync守护进程的方式在file for 概要 rsyncd.conf 描 ...
- 安卓手机安装charles安全证书
本次安装使用小米mix2为例. 手机浏览器上安装: 第一种: 1.首先 设置好手机的charles代理 172.16.xxx.xxx 8888 2.要使用 打开非自带浏览器(夸克/QQ/UC手 ...
- CA认证相关
目录 CA认证相关 基本概念 CA认证相关 公钥私钥详解>> 基本概念 密钥对: 在非对称的加密技术中心, 有两种密钥, 分为私钥和公钥,私钥 --RSA算法-->公钥. 公钥: 公 ...
- max_element()与min_element()
#include<iostream>#include<algorithm>using namespace std;bool cmp(int i,int j){ return i ...
- nyoj 310二分+dinic
#include<stdio.h> #include<queue> #include<string.h> using namespace std; #define ...
- 学习笔记——TCP“三次握手”和“四次挥手”,简单介绍
TCP/IP协议中,TCP协议提供可靠的连接服务,采用“三次握手”建立一个连接. (1)第一次握手:客户端发送SYN包(SYN=j)到服务器,并进入SYN_SEND状态,等待服务器确认. (2)第二次 ...
- hdu_1031_Design T-Shirt_201310291647
Design T-Shirt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- Bootstrap:解决Bootstrap下拉框需要双击才能打开的问题
当使用AngularJS和Bootstrap时,会发生菜单栏navbar控件 需要点击两下才能打开的问题.解决的方法就是在页面加载后,执行如下语句: // 防止下拉菜单需要双击的bug $('.dro ...