内置函数:
close:关闭channel.
len:求长度
new:用来分配内存,主要是值类型,返回指针
make:用来分配内存,主要是引用内型,map、slice
append:追加数组、slice中v
panic/revocer :错误处理 ,panic导致程序崩溃后面的代码不会执行,defer必须在panic之前,revover必须与defer 配合使用
defer 最后执行,对各defer形成栈结构,先进后出执行。---> return 分为两步 返回赋值 ===》defer ====》 RET指令
fmt:
Print 直接输出
Printf 自定义格式输出
Println 输出并并行
Fprint 输出到文件
Fprintf 自定义格式输出文件
Fprintln 换行输出文件
Fscan 读文件
Fscanf
Fscanln
https://www.liwenzhou.com/posts/Go/go_fmt/
go语言函数传参永远是拷贝,只能传指针,找到内存地址指向的变量,对地址本身是不能操作的
//方法接收者 相当于person 的成员方法
func (p Person) dFunc(){ 值接收者 拷贝 不影响原对象
p.name="小红"
fmt.Println(p.name+"dasdadsad")
}
func (p *Person) reFunc(){ 指针接收者 原对象的内存地址拷贝
p.name="小红"
fmt.Println(p.name+"dasdadsad")
}
首字母大写表示可对外暴露的,相当于public ,小写相当于 private
不是使用 指针 就是 拷贝对象的副本。
使用指针 拷贝 指针的地址。指向的对象时同一个。
//执行顺序 全局声明----->init初始方法----->main