概述
很久没写博客了,从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)
public 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中的结构体的写法
type 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类似
public class Test {
public static void test(String s){
System.out.println(s);
}
}
func test(s string) {
fmt.Println(s)
}
在go中的写法大家会觉得比java简易很多,同时特性也少了很多,比如go中不允许重载,重写等特性,在面向对象领域里面,更简单粗暴,今天先讲这么多,剩下的等待下篇
最后
以上就是火星上嚓茶为你收集整理的一个java程序员的golang学习笔记(一)golang基础篇之基础语法和java对比的全部内容,希望文章能够帮你解决一个java程序员的golang学习笔记(一)golang基础篇之基础语法和java对比所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复