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 - 变量和常量的更多相关文章

  1. Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符

    一.基本数据类型 整数类型:byte.short. int(常用).long(较常用)     定义某个变量          int  a=10: 浮点类型(小数):float.double(常用) ...

  2. PHP中的变量与常量详解

    几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...

  3. Java 静态变量,常量和方法

    static 关键字 例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量.这时没有必要 在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类 ...

  4. [.net 面向对象编程基础] (5) 基础中的基础——变量和常量

    [.net面向对象编程基础]  (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...

  5. iOS开发Swift篇—(二)变量和常量

    iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...

  6. php标记,变量,常量

    php标记 语法:有4种书写格式 1.<?php ... ?>  强烈推荐使用. 如果当前 php的代码段,是整个文档的最后一段,可以省略结束标记?(建议省略) 每句语句都要以分号;结束. ...

  7. Swift学习笔记--变量与常量

    1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...

  8. Oracle基础 PL-SQL编程基础(1) 变量和常量

    一.什么是PL-SQL PL-SQL是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.具体来说,PL-SQL就是在普通的SQL语句的基础上增加了编程语言的特点,将数据操作和查询语句 ...

  9. 李洪强iOS开发Swift篇—02_变量和常量

    李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...

  10. C语言基础学习基本数据类型-变量和常量

    变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...

随机推荐

  1. html img 使用data格式加载图片

    背景 这久闲来无事给一位客户测试一款体检软件,是winform结构的,其中有一个功能是需要把生成的体检报告导出为html格式.测试导出后直接在谷歌浏览器里查看,体检详细内容.医生签名.条形码都能正常显 ...

  2. Spring-data-redis: 分布式队列

    Redis中list数据结构,具有"双端队列"的特性,同时redis具有持久数据的能力,因此redis实现分布式队列是非常安全可靠的.它类似于JMS中的"Queue&qu ...

  3. 在systemd(CentOS7)自启动zookeeper

    zookeeper的自启动脚本,如果是 sysV 模式(CeontOS6或以下版本),可以直接使用下载版本中的 src 目录下对应的 sysV 自启动包,再chkconfig即可.老方法,简单,就不说 ...

  4. HDU2577:How to Type(DP)

    Problem Description Pirates have finished developing the typing software. He called Cathy to test hi ...

  5. hdoj 1233 还是畅通工程(最小生成树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233 思路分析:该问题为最小生成树问题,使用kruskal算法或者prim算法即可解决: 代码如下: ...

  6. jQuery对DOM的操作

    "jQuery中非常重要的部分,就是对DOM的操作!" "jQuery中非常重要的部分,就是对DOM的操作!" "jQuery中非常重要的部分,就是对 ...

  7. SASS安装的那些事

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  8. 子请求执行失败。有关更多信息,请检查 InnerException。

    异常:子请求执行失败.有关更多信息,请检查 InnerException. 错误:程序请求异常 可能原因: 1.可以检查是否引用了分布视图,而分布视图中发生错误 2.可以检查是否引用了分布视图,而分布 ...

  9. 记载abp中Dbcontext的疑问

    q:abp中httpcontext如何在一次请求中保证获取的是相同的实例. 大牛的原话: LifestylePerWebRequest does not works good with async. ...

  10. PHP - 数组去重,(折中:符串去重)

    [译]更快的方式实现PHP数组去重 Jan 11, 2016 • Hector 原文:Faster Alternative to PHP’s Array Unique Function 概述 使用PH ...