今天看无闻的视频,2到5讲的内容,一些摘要零星写在下面:
1. main函数作为程序入口,必须存在且在main的package里
2. type 用来声明 新的类型,struct,interface
3. import var const 等等都可以()来声明多个,但是未调用函数的话会报错,保证速度。var只能声明全局变量时使用括号,函数中声明变量不行。
4. import 可以取别名比如
import std “fmt”
import . “fmt” 这样就直接调用fmt的函数了
5. 约定函数名小写是私有的,开头大写是公有的。
6. bool 类型只有true和false
7. int/uint 根据平台决定32位64位,
int8 -128~127
uint8 0~255
byte unit8 别名
rune int32
float32 float64 没有double 精确到7/15位小数
uintptr
其他如array struct string slice map chan inteface func
8. 类型的零值,声明后的默认值,0,false,空字符串,null math包中有最大最小值
9. var a int = 321 此时可以省略int 自动推断
或者 直接 b:=1 怀念pascal (:用来代替var,所以全局不能用),局部变量的多个声明时,使用a,b,c,d = 1,2,3,4这样的并行方式。
10. 空白符号_ 用来忽略复制,a,_,c:=1,2,3
11. 类型转换 b[:]=int(a), :取决于是否声明过
12. var a int = 64
b := string(a) 输出了@
否则引入strconv包,使用Itoa函数
13. 常量组中,不赋值的话,值就是上一行的常量表达式。且初始化规则一致,比如第一行a,b第二行必须得c,d,个数要一样
14. iota 在常量组中,每定义一个加1,从0开始
15. if 语句 不带括号,可以初始化,分号分割,左大括号必须一行
16. switch 语句灵活,但是执行完第一个符合的就跳出了,否则加fallthrough
17. goto break continue 可以配合标签使用,可以跳出多层循环
有疑问加站长微信联系(非本文作者)