变量
常见的变量声明方式
一、声明单个变量的多种方式
1.声明一个变量初始化一个值
Go
//声明变量 默认值是0,
var a int
//初始化一个值
a = 1
fmt.Println(a)
2. 在初始化的时候省去数据类型,通过值自动匹配当前的变量的数据类型
Go
var b = 2
fmt.Println("初始化值:", b)
3.省去var关键字,直接自动匹配,(不能用于全局变量,只能用于函数体内)
Go
c := 3
fmt.Println("初始化值:", c)
如下,:= 不能声明全局变量
二、声明多个变量的方式
Go
//声明多个变量
var h, i int = 10, 11
fmt.Printf("h=%d,i=%d\n", h, i)
//多行的变量声明
var (
vv int = 100
jj bool = true
)
fmt.Println("vv=", vv, "jj=", jj)
总的代码演示如下:
Go
package main
import "fmt"
var d int = 4
var e = 5
func main() {
//变量声明方法
声明变量 默认值是0,
var a int
//初始化一个值
a = 1
fmt.Println("a初始化值:", a)
//
//初始化的时候省去数据类型,通过自动匹配当前的变量的数据类型
var b = 2
fmt.Println("b初始化值:", b)
//
//
c := 3
fmt.Println("c初始化值:", c)
//
//
打印全局变量
fmt.Println("全局变量d=", d)
fmt.Println("全局变量e=", e)
fmt.Println("===================")
//声明多个变量
var h, i int = 10, 11
fmt.Printf("h=%d,i=%d\n", h, i)
//多行的变量声明
var (
vv int = 100
jj bool = true
)
fmt.Println("vv=", vv, "jj=", jj)
}
常量
一、const
常量是简单的标识符,在程序运行时,不会被修改的量。
常量中的数据类型只可以是布尔型,数字型,字符串型
常量的定义格式:
const identifier [type] =value
编译器可以根据变量的值来推测类型,可以省略type
显示类型定义:
//显示常量类型
const a string = "五敷"
fmt.Print("常量a:", a)
隐式常量类型
//隐式常量类型
const b = "有你"
fmt.Println("常量b", b)
多个定义常量
const (
c = 0
d = 1
e = 2
)
fmt.Printf("c:%d,d:%d,e:%d", c, d, e)
二、iota和表达式
iota
可以做更多事情,而不仅仅是 increment。更精确地说,iota
总是用于 increment,但是它可以用于表达式,在常量中的存储结果值。
Go
const (
aa = iota + 1
bb = iota + 100 //会沿用iota的值
)
fmt.Printf("aa=%d,bb=%d", aa, bb)
//iota总是用于 increment,但是它可以用于表达式
const (
express1, express2 = iota + 1, iota + 2
express3, express4
express5, express6
)
fmt.Println("express1,express2,express3,express4=>", express1, express2, express3, express4, express5, express6)
注意:iota只能在const中使用