golang变量与常量
变量
变量 在程序运行中可以改变的量

枚举
var (
a3 = 1
a4 = 2
)

golang不同类型变量不能替换
func main() {
var a int = 10
a = 20
a = "20"
}


同一作用于不能重复定义变量

Golang的变量如果没有赋初值,编译器会使用默认值,比如 int 默认值0sing默认值为串
golang中没有char字符型,使用byte表示一个字符 ,不能表示一个汉字,go默认使用utf8编码
bool false ture
rune = int32 4字节
byte = uint8 1字节
32位系统4个字节-231~231-1
64位系统8个字节-263~263-1
func main() {
var a byte = 255
fmt.Println(a)
var c byte = 'a'
var d rune = '总'
fmt.Println(c)
fmt.Println(d)
}

1、Golang各整数类型分:有符号和无符号,int uint的大小和系统有关。
2、Golang的整型默认声明为int型
3、如何在程序查看某个变量的字节大小和数据类型
unsafe.sizeof占用字节数
func main() {
var str string = "abcd"
fmt.Println(unsafe.Sizeof(str))
}

4、Golang程序中整型变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型。【如:年龄】
5、bit:计算机中的最小存储单位。byte:计算机中基本存储单元。[二进制再详细说]
常量
常量 在程序运行中不可以改变的量
- 常量使用const修改
- 常量在定义时必须初始化
- 常量定义后不能修改
- 常量只能修饰bool、数值类型(int、float)、string类型
- 不允许打印常量的地址
- 字面常量是指程序中硬编码的常量定义后及为某类型(`const i = 1.3`),无需推导(无 `const PI := 3.14`)
golang中没有硬性规定常量必使用大写字母,但仍然通过首字母大小写来控制常量的访问范围
语法:
const identifier [type] = value
请判断一下情况是否正确:
1. const name="tom" 正确
2. const test float = 1.1 正确
3. connst num int 错,常量在定义时必须初始化
4.const b 10/2 正确,10/2在运算后为一个具体的值
5. var a = 10 const b a 错,编译器并不知道a的值是10,认为值是一个可变的变量
定义:
const(
a = 1
b = "string"
)
常量中的iota
package main import (
"fmt"
) const (
a = iota
b
c
d
) func main() {
fmt.Println(a, b, c, d)
}

每次在const 出现时,都会让 iota 初始化为0。
在一行定义const iota,这行不会递增。
package main import (
"fmt"
) const (
a = iota
b
) const (
c = iota
d, e = iota, iota
) func main() {
fmt.Println(a, b, c, d, e)
}

iota使用范围:自定义枚举类型、
golang变量与常量的更多相关文章
- Golang Go Go Go part2:变量及常量声明
三.关键字及内置预声明常量.类型.函数 1.关键字 Go有25个关键字,只能用在语法允许的地方,不能作为名称使用,它们是: break default func ...
- Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性
一.前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目 ...
- 换个语言学一下 Golang (4)——变量与常量
一.变量定义 所谓的变量就是一个拥有指定名称和类型的数据存储位置. //看一个例子 package main import ( "fmt" ) func main() { var ...
- golang初识 和 变量,常量,iota
目录 一.go语言与python 1. go语言 2. python 二.变量相关 1. go语言的基本语法 2. 标识符和关键字 3. 变量声明 (1)声明变量时未指定初始值 (2)声明变量时指定初 ...
- Go变量与常量
变量与常量 变量声明 定义变量时指定变量类型式 定义变量时依靠类型推断 go是静态,强类型语言(java,c++也是如此). 静态语言: 在编译时就能确定变量类型的语言,类型推导在编译阶段可以不用指明 ...
- GO语言的基本语法之变量,常量,条件语句,循环语句
GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...
- Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符
一.基本数据类型 整数类型:byte.short. int(常用).long(较常用) 定义某个变量 int a=10: 浮点类型(小数):float.double(常用) ...
- PHP中的变量与常量详解
几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...
- Java 静态变量,常量和方法
static 关键字 例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量.这时没有必要 在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类 ...
随机推荐
- 对spring创建对象时为何要使用接口
对spring创建对象时为何要使用接口,而使用接口的实现类会报错 接上一篇问题的解答:Spring AOP获取不了增强类(额外方法)和无法通过getBean()获取对象 此问题发生在动态代理时,比如对 ...
- 【转载】linux 安装 中文输入法 Fcitx 手动
在 Linux(测试版)中安装中文输入法 由于一些原因,目前在 Linux(测试版)中无法调用系统的输入法,故需要安装第三方输入法为 Linux(测试版)中的应用提供中文输入支持.本文档旨在介绍第三方 ...
- 校准仪的开发 ---等下整理 迪文屏的ICO文件 和输出配置问题
要有ICO文件才能
- Devops 导论
第一章 DevOps概述 第二章 个体软件过程 第三章 敏捷软件开发 第四章 软件架构演化 第五章 云原生与容器技术 第六章 XaaS和IT服务标准 第七章 DevOps工具链 --学习总结自< ...
- 七牛云-上传、删除文件,工具类(Day49)
要求: 1. java1.8以上 2. Maven: 这里的version指定了一个版本范围,每次更新pom.xml的时候会尝试去下载7.5.x版本中的最新版本,你可以手动指定一个固定的版本. < ...
- 使用mybatis逆向工程Example类,(或者)or条件查询(Day_47)
使用Example类,or条件查询 SetmealExample setmealExample=new SetmealExample(); setmealExample.or().andNameLik ...
- [TcaplusDB知识库]TcaplusDB客户端及常用命令
数据库大都支持命令行访问,TcaplusDB也不例外,通过安装TcaplusDB客户端,您可以方便快捷地从命令行管理与访问数据库. TcaplusDB客户端 首先在 TcaplusServiceApi ...
- GO语言异常处理02---返回错误
package main import ( "errors" "fmt" "math" ) /*计算圆面积,同时返回[结果-错误对]*/ f ...
- jquery 改变标签样式
jQuery改变标签的样式一般有3种 预置好class,然后通过jQuery改变元素的class名,使用的是addClass.removeClass 直接改变元素的css属性值,这种是通过添加styl ...
- toFixed奇葩问题
1.浮点数运算后的精度问题 在计算商品价格加减乘除时,偶尔会出现精度问题 // 加法 ===================== 0.1 + 0.2 = 0.30000000000000004 0.7 ...