风格
0. 简洁,不能有多余的东西 1. 去掉了if while 的(),变得更加简洁 2. case 自带的 break,匹配之后就会自己跳出 3. 不能连续出现两个关键字(如 for var) 4. 和java/c一样采用的是值传递的方式传递参数 5. 想要传参修改值,就传递指针
输出
fmt.Println(,,,);//实现了拼接的功能 fmt.Printf(); //格式化输出 println();
输入
fmt.Scanln();
变量
0. 变量的后面接变量的类型 1. _ 这个变量不需要声明(声明不会报错),系统编译的时候,会自动忽略,接收的值不能打印(直接报错,算是为多个返回值支持而做的) 2. 申明的变量必须使用,否则就直接报错 3. 定义变量 var m int32 = 1(此时的类型int32可以不写,编译器自己识别) 4. var仅仅用来申明变量,函数使用的是func 5. 申明的变量有这默认值 6. 首字母大写是公开的, 首字母小写是私有的;没有private,public等关键字
运算符
1. go语言的运算符来自C语言 2. go不支持三目运算符,并且 ++ -- ,不能在后面再接其他的表达式 3. Golang 的自增自减只能独立运算使用,不能和其他的运算符复合使用
关键字
1. go没有class,但是有struct 2. switch不需要break 3. switch和case后面后面接的是表达式(常量,变量,表达式等),case后面的表达式可以有多个,并且使用,来隔开;而不是通过多个case来拼接 4. func关键字:用来声明函数,其他部分和变量基本一致,如果申明多个返回值,必须使用括号括起来 5. defer:defer放在一个函数里面使用,使用了栈的机制;defer定义异常捕获的时候,需要在异常发生之前定义 6. range: 用来遍历的关键字 7. select: 8. go语言没有void这个关键字,如果返回空的话,不设置返回值就行
属性
1. go不和java一样有着private default protect default 关键字 2. 如果是首字母小写就是private;大写就是public
括号
1. if等后面的()不需要,但是{}无论如何都必须有
内置函数
1. len 2. panic : 一执行就会终止整个函数 3. recover : 捕获异常 4. cap : 获取某个引用类型的容量 5. 内置函数都是大驼峰的形式
数据类型
1. 迷惑性数据类型:数组(值)和切片(引用) 2. string 属于基本数据类型(值类型),是由单个字节拼接起来的,基本数据类型不可再分,因此不能单独对字符串的某个byte进行修改 3. 没有专门char的类型,使用byte(uint8)来保存 4. 浮点数默认为float64 5. bool占用一个字节 6. go语言中字符串是不可变的,不能通过下标来修改字符串的某个字符的值 7. 字符串支持双引号和`` 8. 数据类型不支持自动转换,需要显式转换(和c/java不一样) 9. 值类型:基本数据类型 int 系列, float 系列, bool, **string** 、**数组**和结构体 struct 10. 引用变量的值存储的是一个地址(指针) 11. 和C语言一样,不能直接表示一个二进制的数字 12. 和dart一样rune这个类型表示的是int32 13. 数组的长度也是数组的一部分
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步