目录
文章目录
Go 语言基本语法与使用
Go语言类似与c语言。
2.1 变量
常见的数据类型有整型,浮点型,布尔型,结构体等。
Go语言是静态语言,先声明才能使用。
2.1.1 声明变量
var a int
var b string
var c []float32
var d func() bool
var e struct{
x int}
重点讲第五个,返回值为布尔类型的函数变量,这种形式一般用于回调函数,即将函数以变量的形式保存下来,在需要的时候重新调用这个函数。
批量声明:
var (
a int
b string
c [) float32
d func () bool
e struct {
x int}}
2.1.2 初始化变量
Go语言在声明变量时,自动对内存区域初始化。
默认的都是零值。如nil或者false。
烫烫烫和屯屯屯来自于未出世化的数据。
1 标准版
var hp int =100
2编译器推导
var attack=40
3短变量声明并初始化
hp:=100
这个hp必须是没有声明过的,不然出错。
2.1.3 多个变量同时赋值
b,a=a,b
type IntSlice []int
func (p IntSlice) len() int {return len(p)}
func (p IntSlice) less(i,j, int) bool {return p[i]<p[j[}
func (p IntSlice) Swap(i,j int){ p[i],p[j]=p[j],p[i]}
整数切片。
2.1.4 匿名变量-——没有名字的变量
a,:=GetData()
这个 可以做一个亚元变量,因为,某些函数的返回值,并不想使用,所以,用这个符号去装。
2.2 数据类型
整型:
int8,int16,int32,int64
平台依赖时别用 int和 uint
浮点型:
float32
float64
math.MaxFloat32
fmt.printf(“%.2f\n”,math.pi)
布尔型
布尔型数据在Go语言中以Bool类型进行声明。布尔型数据只有true和false两个值
整型不能强制转换为bool型,bool也不能转换成整型
字符串
go支持utf-8代码,因此:
ch:="中午"可以
字符串转义符
转义符 含义
\r 回车
\n 换行
\t 制表
\' 单引号
\''双引号
\\ 反斜杠
定义多行字符串
双引号书写的字符串是字符串字面量
如果需要多行字符串时,必须使用‘字符,例子如下:
const str=`ss
ss
ss
\r\n`
这个符号之间的转移字符无效
字符
两种:
uint8类型,或者叫byte型,代表了ASCII的一个字符。
rune型,代表一个UTF-8字符。处理中文,日文时使用。
使用%T格式输出时可得原始类型。
var a byte = 'a'
fmt.Printf("%d %T\n", a, a)
var b rune = '你'
fmt.Printf("%d %T\n", b, b)
97 uint8
20320 int32
中文字符 unicode 三个字节
切片——能动态分配的空间
切片是一个拥有相同类型元素的可变长度的序列。切片的声明方式如下:
var name []T
其中,T代表切片元素类型,可以是整型,浮点型,布尔型,切片,map,函数等。
切片的元素使用索引进行访问。
如:
a:=make([]int,3)
a[1]=0
字符串可以按切片的方式操作。