GO语言基础语法
一、变量
①var 变量名,变量名 变量类型
②批量格式
var{
age int
name string
}
③名字:=表达式
二、常量
定义赋值
const 常量名【类型】=常量值 (常量值只能是布尔、数字、字符串)
常量生成器iota
常量自动生成器,每一行,自动加1
iota遇到const,重置为0,但iota没有停止自增,再次遇到iota会接着展示自增的值
三、数据类型
bool布尔类型
默认flase
byte 英文字节
可以存入阿斯科马值 用printf可以打印出对应的值 大小写相差32小写大
字符是单引号定义的
runm 中文字符
int整型 uint无符号整型
float浮点型
string字符串
len()字符长度 println(“字符串=”, len())
四、常用格式化输出标签
%T 操作变量所有属性 返回数据类型
%d 匹配整型格式
%s 匹配字符串格式
%c 匹配字符
%f 匹配浮点型
%v 自动匹配数据类型
五、输入
var a int
fmt.Scan(&a)
六、类型转换
true不能进行转换
七、类型别名
type long int64
八、流程控制
//支持初始化变量
if(a:=10; a==10){ //坐括号必须在第一行
}
九、循环语句
//range 循环 相当于php中的foreach
for i, data = range str{
continue;跳过本次循环
break;跳出循环
}
goto End //goto是跳转的关键字 End是用户起名的标签
End:
fmt.println(“11111”) //执行goto标签,并停止下面操作
十、 Go 函数
package main //一个文件夹只能调用一次
func Fun(a int , b int, c , d string){
}
func main(){
Fun(666, 777, "888" ,"999") //调用
}
匿名闭包 函数
f1 := func(i , j int){ //赋值变量法 有返回值
a:=i
b:=j
return
}
f1(1 ,2)
func(i , j int){ //直接调用法
fmt.Printf("%d=%d\n" ,i ,j)
}(1 ,2)
defer
在main关闭前执行
多个defer执行顺序 后进先出
如果加在匿名传参函数上 会先传参,最后结束前调用之前传好的参数
os.Args
接收命令行用户传参
go build 1.go
1.exe a b //此时接收到3个参数