很久没写博客了,从java到现在已经使用了golang和java函数式编程,以后会逐渐在博客中更新这段时间的学习笔记
golang基础篇之基础语法和java对比
golang 是谷歌发布的语言,具体信息百度百科有,这里就不细说了
golang中的语法简易于java
java中的作用域和golang的作用域
java的作用域声明,咱们知道的有 public private protected 和 default
golang中只有 public 和 private 但不同的是在golang中 声明一个方法或结构体(可以理解为java的class)是通过首字母大小写来声明 public 首字母用大写 private 首字母用小写
这是java的model类写法(也可以叫做pojo)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20public class User { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
这是go中的结构体的写法
1
2
3
4type User struct { Name string `json:"name"` Age int32 `json:"age"` }
go中之所以叫结构体,是因为正常java的model或者go的struct 主要都是用来定义数据入参或返回的结构的
go的这段代码,意思是定义一个public的User 的结构体 包含name和age两个属性,go中是用int32和Int64来区分java的int和long
可能有人会有疑问就是 golang属性后面的 `json:"name"` 能干什么用呢?
其实这个类似java属性上面的注解的功能在go里叫tag,代表用json工具转换的时候转换成的json格式,默认和属性名一样的大写的,所以这里加个tag,标示,同理这里可以加很多不同的tag,也像java加很多不同注解一样
go中没有方法,都是函数(function), java中的方法是依托与类和对象的执行过程,函数是可以独立存在,不依托类,可传递的执行过程
这个类似于java中的static方法是可以不对象就可以运行的,但也要通过类去调用,go中的函数是可以直接调用的,不同的是go的函数比java的static方法多了一个可传递的功能,和js的function类似
1
2
3
4
5
6public class Test { public static void test(String s){ System.out.println(s); } }
1
2
3func test(s string) { fmt.Println(s) }
在go中的写法大家会觉得比java简易很多,同时特性也少了很多,比如go中不允许重载,重写等特性,在面向对象领域里面,更简单粗暴,今天先讲这么多,剩下的等待下篇
最后
以上就是火星上嚓茶最近收集整理的关于一个java程序员的golang学习笔记(一)golang基础篇之基础语法和java对比的全部内容,更多相关一个java程序员内容请搜索靠谱客的其他文章。
发表评论 取消回复