Go语言-变量和常量
go语言文件基本结构
// 导入语句 import "fmt" // 函数外只能放置标识符(变量\常量\函数\类型)的声明 func main() { fmt.Println("hell world") }
标识符和关键字
1.标识符
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。
Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。
2.关键字
2.1 25个 关键字
break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var
2.2 37个 保留字
Constants: true false iota nil Types: int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr float32 float64 complex128 complex64 bool byte rune string error Functions: make len cap new append copy close delete complex real imag panic recover
变量
1.变量的来历
在程序运行的过程中数据都是存储在内存中,当想要在代码中操作某个数据的时候就需要到内存中找到这个变量,
如果直接在代码中通过内存地址去操作变量的画,代码的可读性会非常差,所以就利用变量将这个数据的内存地址保存下来,然后直接通过这个变量找到内存上相应的数据。
2.标量类型
常见变量的数据类型有:
整型
浮点型
布尔型
#变量必须经过声明才可以使用
3.变量声明
#变量需要声明才可以使用
#同一作用域内不支持重复声明
#Go 语言变量申明后必须使用
package main import "fmt" //声明变量 // var name string // "" // var age int // 0 // var isok bool //false //批量声明 var ( name string age int isok bool ) func main() { name = "张三" age = 18 isok = true // go语言变量声明必须要使用,不使用就编译不过去 fmt.Printf("name:%s\n", name) //%s:占位符,使用name这个变量的值取替换占位符 \n换行 fmt.Println(age) //打印玩指定内容后后面增加一个换行符 fmt.Print(isok) //在终端中输出要打印的内容,没有换行符号 //声明变量同时赋值 var s1 string = "web" fmt.Println(s1) //类型推导 根据值判断变量是什么类型 var s2 = "20" fmt.Println(s2) // 简短变量声明,只能在函数里面用局部 s3 := "123" fmt.Println(s3) // s3 := "222" 同一个作用域不能重复声明同名的变量 } //注意点: //1.简短声明 =: 不能在函数外使用 //2._用于占位符,表示忽略值 //3.函数外每个语句都必须以关键字开始(var,const,func)
常量
相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。
package main
import (
"fmt"
)
//常量
//定义常量之后不可修改
//在程序运行期间不会改变的量
const pi = 3.1415926
//批量声明常量
const (
statusok = 200
notFound = 404
)
//如果批量声明常量时,如果某一行声明后没有赋值,默认和上一行一致
const(
n1 = 100
n2
n3
)
//iota是go语言的常量计数器,只能在常量的表达式中使用。在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次
const(
a1 = iota //0
a2
a3
)
const(
b1 = iota //0
b2 = iota //1
_ = iota //2 丢弃_表示没有
b3 = iota //3
)
//插队
const(
c1 = iota //0
c2 = 100 //1
c3 = iota //2
c4 = iota //3
)
//多个常量申明在一行
const(
d1,d2 = iota + 1, iota +2 //da:1 da2
d3,d4 = iota + 1, iota +2 //da:2 da3
)
//定义数量级
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)

浙公网安备 33010602011771号