因为本身自己学的Java,现对golang感兴趣,以下为自己认为两种语法不同的一些点。
1.在导入了一个包之后,就可以用其导出的名称来调用它。
import "fmt"
fmt.Print()
2.导入包中的方法只有首字母大写的方法是可以被外部调用的
3.当两个或多个连续的函数命名参数是同一类型,则除了最后一个类型之外,其他都可以省略。
我们在看golang源码中可能会看到
4.函数可以返回任意数量的返回值,一般为两个,value和error
5.在函数的返回值中定义变量名,可以直接return
6.定义变量 类型在变量名之后 ,很多情况下不需要变量类型,它可以根据赋值直接判断 :=
不允许初始化时没有类型,不赋值,这样编译错误
7.变量在定义时没有明确的初始化时会赋值为零值。在java中会出现编译出错
8.不同类型之间用 int(值) 转换
9.在赋值类型不同时,编译出错
10.常量中const 不能用:= 可以没有类型,其类型同golang语法
11.一个未指定类型的常量由上下文来决定其类型。
12.if前可以跟简单的赋值语句 进行判断,很方便 作用域在{}中
13.if中定义的便捷语句可在else中使用
14.if后必须跟{ 必须在同一行,懂吧!别忘了
15.switch和if then else 语法简写文图
16.defer栈 后进先出 关闭资源
17.golang中有切片,有数组,slice
18.切面范围 左开右闭
19.slice有len和cap可以扩展
20.range有index和value 缺省用_
21.map用make创建,定义还是用var
22.channel对于何时关闭的思考,发送端和接收端,处理任务结束的思考