常量
概述
常量是一个简单值的标识符,在程序运行时,不会被修改也不可以被修改的量。常量的定义格式:
const 常量名 [类型] = 常量值 复制代码
你可以省略类型说明符 [类型],因为Go+可以根据变量的值来推断其类型。比如:
- 显式常量定义:
const a string = "HelloWorld"
- 隐式常量定义:
const a = "HelloWorld"
多个相同类型的变量可以简写:
const name1, name2 = value1, value2 复制代码
实例代码:
const WIDTH int = 5 const name1, name2 = "Hello", "World" println(WIDTH) println(name1) println(name2) 复制代码
注意
常量是不可以修改和二次赋值的,不然会报错。
变量
变量声明
Go+语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的语法:
var 变量名 类型 复制代码
var a string a = "hello" println(a) 复制代码
同时可以一次声明多个变量。
var 变量名1, 变量名2... type 复制代码
var name,name2 string 复制代码
如果不对变量进行初始化的话就必须定义类型。如果对变量进行了初始化,那么GO+会根据值的类型自动判断变量类型。
变量初始化
一般写法
对单个变量进行初始化。
var name = "admin" println(name) 复制代码
如果变量没有初始化的话就必须指定类型,这个时候变量的值是默认值。
var num int println(num) // 0 复制代码
布尔类型的默认值为false。
var flag bool println(flag) // false 复制代码
string默认为空串。
var name string println(name) 复制代码
总结来说:
- 数值类型(包括complex64/128)为 0
- 布尔类型为 false
- 字符串为 ""(空字符串)
简易写法
我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,而且很容易和js的变量声明产生混淆,也是GO+有简单的写法::= 赋值操作符
,例如:
name := "admin" println(name) //admin 复制代码
但是如果变量已经使用var
声明过了,再使用:=
声明变量,就会报编译错误。
var num int num := 1 // # command-line-arguments Variables\Variables.gop:3: num declared but not used**intVal := 1** 复制代码
num := 1等价于两步:
- var num int
- num = 1