#25个关键词
1 | break default func interface select |
–来源于W3Cschool–Go web编程
#Go程序是通过package来组织的
每一个可独立运行的Go程序,必定包含一个package main,在这个main包中必定包含一个入口函数main,而这个函数既没有参数,也没有返回值。
Go是天生支持UTF-8的(字符串都是采用UTF-8字符集编码 ),任何字符都可以直接输出,你甚至可以用UTF-8中的任何字符作为标识符
–来源于W3Cschool–Go web编程
# :=符号只能在函数内部使用,在函数外部使用则无法编译通过
–来源于W3Cschool–Go web编程
#已声明但未使用的变量会在编译阶段报错
–来源于W3Cschool–Go web编程
#Go 常量和一般程序语言不同的是,可以指定相当多的小数位数(例如200位), 若指定給float32自动缩短为32bit,指定给float64自动缩短为64bit
–来源于W3Cschool–Go web编程
#make用于内建类型(map、slice 和channel)的内存分配。new用于各种类型的内存分配:
–来源于W3Cschool–Go web编程
#new(T)分配了零值填充的T类型的内存空间,它返回了一个指针,指向新分配的类型T的零值
1 | new 返回指针 |
make和new的区别:
–来源于W3Cschool–Go web编程
#goto语句的标签名大小写是敏感的
–来源于W3Cschool–Go web编程
#go语言没有while关键词,但是:
1 | sum := 1 |
如上,可以像这样构建一个while循环功能
–来源于W3Cschool–Go web编程
#(swith case):我们把很多值聚合在了一个case里面,同时,Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。:
1 | integer := 6 |
上面程序的结果
1 | The integer was <= 6 |
–来源于W3Cschool–Go web编程
#程序执行过程:main包中的其他被导入的包–>包中的包级常量和变量初始化–>init函数(如果有的话)–>包加载完后就对main中的包级常量和变量进行初始化,然后执行main包中的init函数–>最后执行main中的函数:
{ % asset_img 程序执行过程.png 程序执行过程 % }
–来源于W3Cschool–Go web编程