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这个常量,因为这样系统会将这两个不在同一个类 ...
随机推荐
- 网络安全服务(Network Security Services, NSS
网络安全服务(Network Security Services, NSS)是一套为网络安全服务而设计的库 支持支持安全的客户端和 服务器应用程序.使用NSS构建的应用程序可以支持SSL v2 和v3 ...
- Win10开启移动热点
Win10开启移动热点 禁用 无线网卡 启动 无线网卡
- CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)
CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K 收藏 0 ...
- Docker Swarm(四)Volume 数据(挂载)持久化
前言 为了获得最佳的性能和可移植性,应该避免将重要数据直接写入容器的可写层,而应使用数据卷或绑定挂载. 可以为集群中的服务创建两种类型的挂载,数据卷挂载(volume mounts)或绑定挂载(bin ...
- jmeter 非GUI模式下传参
为什么要使用非GUI模式?--因为GUI模式下运行的时候消耗的内存比非GUI模式大,会使得压力测试的结果不准确. 根据参数类型分为两种:jmeter.properties和system.propert ...
- C语言程序设计#成绩查询系统
学生成绩管理系统 [注释]:请点赞,好人一生平[yi]安[wo]. #codeblocks程序下编写 #include<stdio.h>#include<stdlib.h>// ...
- sklearn中,数据集划分函数 StratifiedShuffleSplit.split() 使用踩坑
在SKLearn中,StratifiedShuffleSplit 类实现了对数据集进行洗牌.分割的功能.但在今晚的实际使用中,发现该类及其方法split()仅能够对二分类样本有效. 一个简单的例子如下 ...
- GO学习-(2) 从零开始搭建Go语言开发环境
从零开始搭建Go语言开发环境 一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站( ...
- Camera Calibration 相机标定
Camera Calibration 相机标定 一.相机标定方法 在opencv中提供了一组函数用于实现相机的标定,标定返回的值包括:相机内参矩阵(fx fy xc yc).相机外参矩阵(R t)以及 ...
- 活动识别API服务开发
活动识别API服务开发 要使用华为活动识别服务API,需要确保设备已经下载并安装了HMS Core(APK),并将Location Kit的SDK集成到项目中. 指定应用权限 在Android Q以下 ...