1.函数 引用类型 指针,slice(切片)、map、function、channel
值引用,指针引用 值引用就是这个对象的副本 指针引用就是该对象地址指针的副本。
func 函数名(传入的参数列表)(返回的参数列表){
}
形式1.
func function2(a string,b int)(c string){
c="求和"+a+strconv.Itoa(b)
return
}
//字面值
u:=User{name:"jack",id:5}//字面值
零值
string(a) 把a强转为string类型
%d 十进制整数
%x, %o, %b 十六进制,八进制,二进制整数。
%f, %g, %e 浮点数: 3.141593 3.141592653589793 3.141593e+00
%t 布尔:true 或 false
%c 字符(rune) (Unicode 码点)
%s 字符串
%q 带双引号的字符串"abc"或带单引号的字符'c'
%v 发量的自然形式(natural format) %v 它可以以适当的格式输出任意的类型
%T 变量的类型
%% 字面上的百分号号标志(无操作数)
接口断言
a,ok:=v.(int) //断言 如果v是string
a为v的值,ok为是否int类型
闭包:
A函数中返回一个B函数,返回的B函数中用到了A函数中的变量
1.切片slice,map,数组,通道
var a = []string{} 切片定义,有字面值,就不需要用make()
var b = [5]string{} 数组定义
var c = make([]string,5) 切片定义 没有字面值
var d = make(map[string]int) map定义 没有字面值
缓冲区满了,发送阻塞
缓冲区为空,接受阻塞