Go命令
go bulid 编译Go程序
go bulid -o "xx.exe" 编译成xx.exe文件
go ruan main.go 像执行脚本一样执行main.go文件
go install 先编译后拷贝
Go基础语法
文件第一行:package关键字声明包名
如果要编译可执行文件,必须要有main包和main函数(入口函数)
Go语言函数外的语句必须以关键字开头
函数内部定义的变量必须使用
变量
3种声明方式:
1.var name string
2.var name2 = "沙克"
3.函数内部专属: name3 := "哈哈哈"
匿名变量(哑元变量):
当有些数据必须用变量接收但是又不使用它时,就可以用_来接收这个值
常量
const PI = 3.1415926
const userNotExist = 10001
iota 实现枚举
俩个要点:
1.iota在const关键字出现时置为0
2.const中每新增一行常量声明,iota累加1
流程控制
if
var age = 19
if age > 18 {
fmt.Println("成年了")
} else if age > 7 {
fmt.Println("上小学了")
} else {
fmt.Println("最快乐的时光")
}
for循环
//for.1
for i := 0; i < 10; i++ {
fmt.Println(i)
}
//for.2
var i = 0
for ; i < 10; i++ {
fmt.Println(i)
}
//for.3
var j = 0
for j < 10 {
fmt.Println(j)
j++
}
//for.4
for {
fmt.Println("无限循环")
}
//for.5
s := "hello"
fmt.Println(len(s))
for i, v := range s {
fmt.Printf("%d %c\n", i, v)
}
//哑元变量
for _, v := range s {
fmt.Printf("%c\n", v)
}
}
基本数据类型
整型
无符号整型:uint8 uint16 uint16 uint32
带符号整型:int8 int16 int16 int32
int:具体是32位还是64位看操作系统
uintptr:表示指针
其他进制数
Go语言中没法直接定义二进制数
//八进制数
var n1 = 0777
//十六进制数
var n2 = 0xff
fmt.Println(n1, n2)
fmt.Printf("%o \n", n1)
fmt.Printf("%x \n", n2)
浮点型
float32和float64
Go语言中浮点数默认是float64
复数
complex128和complex64
布尔值
ture和false
不能和其他的类型做转换
字符串
字符串不能修改
byte和rune类型
都属于类型别名
字符串、字符、字节都是什么?
字符串:双引号包裹的是字符串
字符:单引号包裹的是字符,单个字母、单个符号、单个文字
字节:1byte=8bit
go语言中字符串都是UTF8编码,UTF8编码中一个常用汉字一般占3个字节。