七叶笔记 » golang编程 » Java程序员如何学习Golang(一)

Java程序员如何学习Golang(一)

不会golang的程序员不是好的java程序员,现在的docker、k8s,以及其他一些中间件很多都是采用golang语言开发,作为一个java程序员,不能只会用他们,还是应该多了解一些底层原理性的东西,才不至于被淘汰。

废话不多说,学习golang之前,我们先安装一些golang的环境,可以在 下载最新的golang安装包,和java一样,安装按照提示一步一步安装就好,没有什么特别的配置。然后是IDE,我们可以用jetbrains的产品Goland,和java版的IDE是一样的操作界面,这里就介绍安装了,大家可以自己百度。

现在我们开始创建一个项目

里面只有一个go.mod文件,这个就类似pom文件,管理项目的包依赖的

我们新建一个叫main的go文件,开始我们的hello world

这里稍微解释一下,要执行main函数的文件的包名,也得必须是叫main,golang的包的作用和java里的差不多,主要是:

1. 区分相同文件的函数,变量等标识符

2. 当程序文件很多的时候,可以很好地管理项目

3.控制函数。变量等访问范围,即作用域

java中一个文件就是一个和类同名的文件,go中一个文件就是包含一堆函数的文件,文件和类没有什么关系,如果你高兴,把所有代码写在一个文件里也没有关系。

没有java中 public、protected、private等访问控制修饰符,它是通过字母大小写来控制可见性的,如果定义的常量、变量、类型、接口、结构、函数等的名称是大写字母开头表示能被其它包访问或调用(相当于public),非大写开头就只能在包内使用(相当于private,变量或常量也可以下划线开头)

函数定义格式是下面这个样子的,如果有返回值可以在括号后面添加返回值的类型,如果没有就可以不用写

fun function_name ([parameter list]) [return_types] { 函数内容}

数据类型

上面的是go支持的数据类型,数字类型相比java,做了按长度做了更细粒度的划分,注意一点如果使用uint、int 声明变量,类型长度取决于 CPU,如果是32位CPU就是4个字节,如果是64位就是8个字节,所以才看到位数是32或64位。

go的变量声明方式和java也不太一样,需要var关键字声明变量,数据类型是放在变量名的后面,同时也可以使用 := 的方式直接给变量赋值,go会根据值推断数据类型

关于变量和常量的定义和注意点可以参考下图

变量和常量

相关文章