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语言基础学习基本数据类型-变量和常量
变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...
随机推荐
- NHibernate 的 ID 标识选择器
在 Hibernate 中,每个对象需要一个标识 ID,通过这个标识 ID 建立对象与数据库中记录的对应关系. Nhibernate 提供了多种方式来建立这个 POID.基于不同的生成策略,可以选择更 ...
- jQuery.fn.serialize 阅读
今天第一次阅读jQuery源码,因为读到用js对表单的序列化,为的是在ajax操作中将表单中各个域的值传到服务器.书上用了很长的步骤,判断每一个表单域的属性,然后拼接. 大概是这样: function ...
- 【剑指offer】面试题43:n个骰子的点数
第一种思路是,每一个骰子的点数从最小到最大,如果为1-6,那么全部的骰子从最小1開始,我们如果一种从左向右的排列,右边的最低,索引从最低開始,推断和的情况. def setTo1(dices, sta ...
- XML和DTD的简单介绍和入门
XML(Extensible Markup Lanaguage),可扩展标记语言,是标准通用标记语言(Standard Generalized Markup Language, SGML)的一个子集, ...
- Ext JS学习第三天 我们所熟悉的javascript(二)
•javascript之函数 •对于Ext开发者,我还是希望你能对javascript原生的东西非常了解.甚至熟练掌握运用.那么函数,无疑是非常重要的概念.首先在前面一讲,我们知道了函数也是一种数据类 ...
- Orchard 添加搜索栏
Orchard 提供索引和搜索的功能. 索引功能需要开启 Indexing 模块, 同时我们要开启Lucene 模块(做实际检索工作的东西). 然后还要开启Search模块(调用Lucene 查询然后 ...
- week4_motion_of_ball_1(小球运动)——改进
# Ball motion with an explicit timer import simplegui # Initialize globals width = 600 height = 600 ...
- C#调用C/C++动态库 封送结构体,结构体数组
因为实验室图像处理的算法都是在OpenCV下写的,还有就是导航的算法也是用C++写的,然后界面部分要求在C#下写,所以不管是Socket通信,还是调用OpenCV的DLL模块,都设计到了C#和C++数 ...
- php随笔3-thinkphp 学习-ThinkPHP3.1快速入门(1)基础
ThinkPHP3.1快速入门(1)基础 简介 ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发 框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在 ...
- 深入浅出—JAVA(10)
10.数字与静态 静态变量是共享的.同一类所有的实例共享一份静态变量. 实例变量:每个实例一个.静态变量:每个类一个. 数字的格式化 唯一必填的项目是类型 package xiao;class Sta ...