GO语法学习
1.变量和常量
常量: const 变量名 type
变量: var 变量名 type
2.变量定义
变量:
- var 语句用于声明一个变量列表,跟函数的参数列表一样,类型在最后
- var c,python,java bool
变量的初始化:
变量声明包含初始值,每个变量对应一个
如果初始化值已存在,则可以省略类型;变量会从初始值中获得类型
var i, j int = 1,2
短变量声明
在函数中,简洁赋值语句 := 可在类型明确的地方代替var 声明
函数外的每个语句都必须在关键词开始(var,func等),因此 := 结构不能再函数外使用。
c, python, java := true, flase, "no!"
3.类型转换和推到
类型转换
表达式T(v) 将值v转换为类型T
一些关于数值的转换
var i int = 42
var f float64 = float64(i)
var u unit - uint(f)
更简单的形式:
i := 42
f := float64(i)
u := uint(f)
类型推导
在声明一个变量而不指定其类型是,变量的类型由右值推导得出。
var i int
j := i
4.数组
- 相同类型且长度固定连续内存片段
- 以编号访问每个元素
- 定义方法 var 变量名[len] type
- myArray := [3]int{1,2,3}
5.切片(slice)
- 切片是对数组一个连续片段的引用
- 数组定义中不指定长度即为切片
- 切片再为初始化之前默认为nil,长度为0
6.Make和New
- New返回指针地址
- Make返回第一个元素,可预设内存空间,避免未来的内存拷贝
-
Myslice1 := new([]int) Myslice2 := new([]int, 10)
切片常见问题
1、切片是连续内存并且可以动态扩展,由此引发问题
未完待续!!!!!