Java程序员如何学习Golang(一)(golang java 学哪个)

createh54个月前 (01-23)技术教程44

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

废话不多说,学习golang之前,我们先安装一些golang的环境,可以在https://golang.google.cn/dl/ 下载最新的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会根据值推断数据类型


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

相关文章

一看就懂的Java对象内存布局(java内部对象)

Java对象的内存布局1 前言新建对象的方式:Object.clone,反序列化直接复制已有数据,初始化新建对象的实例字段Unsafe.allocateInstance没有初始化实例字段new反射ne...

谷歌宣布:两年后所有32位应用程序将全部转换为64位

【CNMO新闻】一年前,谷歌向Android应用程序开发人员提供了关于2019年8月即将推出Google Play商店的新64位要求的提醒,现在它发布了有关其64位转换的更多细节。谷歌根据2017年1...

35个可以提高千倍效率的Java代码小技巧

代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是...

行、列中最后非空单元格的获得(最后一行或列中存在非空单元格)

【分享成果,随喜正能量】职场,没有人关心你快不快乐,所有人都会看你有没有用。VBA可以给您带来快乐,证明您的价值。《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位...

火狐浏览器的纯64位优化版,Waterfox 36.0下载

IT之家(www.ithome.com):火狐浏览器的纯64位优化版,Waterfox 36.0下载Waterfox是一个纯64位版的火狐浏览器,它使用Firefox官方源码,专门为64位Window...

JDK1.8的安装与环境变量配置(jdk的安装与环境变量配置教程)

现在JDK最新的版本应该是17了吧,现在很多企业依然用的是1.8,我就带一些想要自学小伙伴配置一下Java开发环境吧。第一步,当然是去官网下载安装包。https://www.oracle.com/ja...