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这个常量,因为这样系统会将这两个不在同一个类 ...
随机推荐
- Apache Hudi集成Spark SQL抢先体验
Apache Hudi集成Spark SQL抢先体验 1. 摘要 社区小伙伴一直期待的Hudi整合Spark SQL的PR正在积极Review中并已经快接近尾声,Hudi集成Spark SQL预计会在 ...
- [bug] NameNode无法启动 invalid-uri-for-namenode-address
配置文件core-site.xml中设置有误 <property> <name>fs.defaultFS</name>(NameNode地址) <value& ...
- Spark 集群安装部署
安装准备 Spark 集群和 Hadoop 类似,也是采用主从架构,Spark 中的主服务器进程就叫 Master(standalone 模式),从服务器进程叫 Worker Spark 集群规划如下 ...
- 实例:使用playbook实现httpd安装、配置、以及虚拟主机的配置
一.安装环境配置 1.在控制节点给受控主机配置本地仓库文件 [root@ansible ~]# vim /etc/yum.repos.d/dvd.repo [AppStream] name=appst ...
- 11.4 iftop:动态显示网络接口流量信息
iftop是一款实时流量监控工具,可用于监控TCP/IP连接等,必须以root用户的身份运行. 一般最小化安装系统都是没有这个命令的,需要使用yum命令额外安装,而且还要从epel源下载. ift ...
- 数据流分析软件SQLFlow的工作原理
SQLFlow是一个可视化的在线处理SQL对象依赖关系的工具,只需要上传你的SQL脚本,它可以自动分析SQL里的数据对象,包括database.schema.table.view.column.pro ...
- 用 Python 写个贪吃蛇,保姆级教程!
本文基于 Windows 环境开发,适合 Python 新手 本文作者:HelloGitHub-Anthony HelloGitHub 推出的<讲解开源项目>系列,本期介绍 Python ...
- eclispe--tomcat配置
eclipse安装tomcat方法: 1.下载tomcat,从官网下载,地址:http://tomcat.apache.org/download-70.cgi 2.将下载下来的压缩包解压,放在自己想放 ...
- 三维点云去噪无监督学习:ICCV2019论文分析
三维点云去噪无监督学习:ICCV2019论文分析 Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning 论文链接: htt ...
- 关于switch语句的使用方法---正在苦学java代码的新手之菜鸟日记
输入月份与年份,判断所输入的月份有多少天. switch支持和不支持的类型 支持的类型 int 类型 short 类型 byte 类型 char 类型 enum (枚举)类型 (java5.0 之后支 ...