go - 变量和常量
1.定义变量
goLang中定义变量的方式很多
先声明再使用;如果定义的变量未使用编译时会报错
a.
/*定义单个变量*/
var varName type //定义一个 type 类型的变量 varName
varName = value //给变量 varName 赋值
var varName type = value //定义变量并赋初始值
/*定义多个变量*/
var varName1, varName2 type //定义两个 type 类型的变量 varName1 和 varName2
varName1, varName2 = val1, val2 //给两个变量分别赋值,varName1 = val1 ...
var varName1, varName2 type = val1, val2 //定义两个 type 类型的变量,varName1 = val1 ...
b.
/*单个*/
var varName = val //定义变量并赋初始值,系统会根据 val (值)的类型来定义 varName (变量)的类型
/*多个*/
var varName1, varName2 = val1, val2 //varName1 = val1 ... (同上)
c.
/*单个*/
varName := val //同 b 一样,根据值来判定变量的类型
/*多个*/
varName1, varName2 := val1, val2 //varName1 = val1 ...
//用 ":=" 取代 var type,写法更简洁,但是这种声明方式只能用在函数内部,否则编译会报错
d.
_, varName2 := val1, val2 //丢弃 val1 , varName2 = val2
//_(下划线)是一个特殊的变量,赋给它的值会被丢弃
e.
定义多个变量时可用 ( ) 来声明,减少代码量
var (
varName1 type
varName2 type
) //定义两个变量
var (
varName1 = val1
varName2 = val2
) //定义两个变量并赋值
2. 常量
常量:在程序不能被改变的值,一般都定义为数值,布尔值,字符串等
格式:
const constName [type] = val
//定义一个常量 constName = val , type可省略,编译时系统会根据 val 来确定类型
注:
1). var num = 3 //实际上 3 也称为常量
2). 格式中 val 可以是表达式,但不能为运行时才能知道结果的表达式
3). 预定义常量: true / false / iota
4). 定义多个常量时,也可用下面方式
const (
constName1 [type] = val1
constName2 [type] = val2
)
note_var_const.go code list
package main //声明当前文件所属的包名,main 是一个可独立运行的包,编译后会生成可执行文件 import "fmt" //导入包 var id = 123456 /*
id2 := 654321
//在函数外用 := ,编译时会出现错误
//non-declaration statement outside function body
*/ const PI = 3.14 //每个可独立运行的程序,都包含入口函数 main ,与其他语言相同,但无参数和返回值
func main() {
var num int
num = 100
fmt.Println(num) //输出 100 var num1, num2 int
num1, num2 = 1, 2
fmt.Println(num1, num2) //输出 1 2 var no1, no2 = 3, 4
fmt.Println(no1, no2) //输出 3 4 n1, n2 := 5, 6
fmt.Println(n1, n2) //输出 5 6 _, n := 7, 8
fmt.Println(n) //输出 8 var (
key1 string
key2 string
)
key1, key2 = "k1", "k2"
fmt.Println(key1, key2) //输出 k1 k2 var (
a = 9
b = 10
)
fmt.Println(a, b) //输出 9 10 fmt.Println(id) //输出 123456 fmt.Println(PI) //输出 3.14 /*
PI = 3.1415
//改变常量的值,编译会出现错误
//cannot assign to PI
//cannot use 3.1415 (type float64) as type ideal in assignment
*/
}
go - 变量和常量的更多相关文章
- Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符
一.基本数据类型 整数类型:byte.short. int(常用).long(较常用) 定义某个变量 int a=10: 浮点类型(小数):float.double(常用) ...
- PHP中的变量与常量详解
几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...
- Java 静态变量,常量和方法
static 关键字 例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量.这时没有必要 在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- iOS开发Swift篇—(二)变量和常量
iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...
- php标记,变量,常量
php标记 语法:有4种书写格式 1.<?php ... ?> 强烈推荐使用. 如果当前 php的代码段,是整个文档的最后一段,可以省略结束标记?(建议省略) 每句语句都要以分号;结束. ...
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- Oracle基础 PL-SQL编程基础(1) 变量和常量
一.什么是PL-SQL PL-SQL是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.具体来说,PL-SQL就是在普通的SQL语句的基础上增加了编程语言的特点,将数据操作和查询语句 ...
- 李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...
- C语言基础学习基本数据类型-变量和常量
变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...
随机推荐
- 有关FTPS和VNP的详解
http://hfang.blog.51cto.com/4449017/811744 http://www.h3c.com.cn/MiniSite/Technology_Circle/Technolo ...
- 发一个讨论帖,如果结果被采纳的话可以给一份adb 代码,以及我封装的ADBLIB
如何在手机没有root 的情况下,获取系统的一些文件,比如 /data/data/xxxx 目录下的文件. 有任何想法的请说出来.
- 图像检索:一维直方图+EMD距离
EMD距离具体介绍已经在在这里已经给出. 思路:我们把一张图像的归一化的一维直方图作为signature的权值,也就是一般在比較两幅图像颜色直方图的EMD距离时,每一行的坐标一样,仅仅是权重值不一样. ...
- STL之string
string构造函数,很多重载函数: #include <iostream> #include <string> using namespace std; int main() ...
- if语句判断身高体重是否标准
1.判断身高,体重是否标准 Console.WriteLine("请输入您的身高:"); int sg = Convert.ToInt32(Console.ReadLine()); ...
- 再谈协方差矩阵之主成分分析PCA
上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Co ...
- php随笔8-thinkphp OA系统 客户管理
Action: CustomerinfosAction.class.php <?php /* * 客户信息 控制器 * @author lifu <504861378@qq.com> ...
- VIM用法
突然感觉vim像是linux上默认的文本编辑器,所以熟悉下用法吧. 1,set nu 显示行号. 2, /word 搜索文本word,n查找下一个. :set hlsearch--高亮显示搜索 ...
- shell学习之字符串处理
1.获取字符串长度 value=abcd;echo ${#value} 输出:42.获取子串 value=abcd;:} 输出:d value:a:b,其中a表示起始位置,b表示获取的子串的长度. 3 ...
- Qt分析:Qt中的两种定时器(可是QObject为什么要提高定时器呢,没必要啊。。。)
Qt有两种定时器,一种是QObject类的定时器,另一种是QTimer类的定时器. (1)QObject类的定时器 QObject类提供了一个基本的定时器,通过函数startTimer()来启 ...