JAVA转Golang
【摘要】 GO语言因其并行机制出现在大众的视野中,Go编译到机器码非常的快速,它是快速的、静态类型编译语言,但是感觉上是动态类型,解释型语言,要说响应式编程应该reactive,webflux,RXJava,netty这几个词要关联性高一些,当然Go不针对这一块。 Java转Go是非常简单又困难的,简单的是基本的语法是90%在通用的,只有差异,但大多语法还是通用,困难的是编程习惯,Go提倡一种事...
GO语言因其并行机制出现在大众的视野中,Go编译到机器码非常的快速,它是快速的、静态类型编译语言,但是感觉上是动态类型,解释型语言,要说响应式编程应该reactive,webflux,RXJava,netty这几个词要关联性高一些,当然Go不针对这一块。
Java转Go是非常简单又困难的,简单的是基本的语法是90%在通用的,只有差异,但大多语法还是通用,困难的是编程习惯,Go提倡一种事情有且只有一种方法完成,比如没有++i,只有i++,很多变量声明条件又像js或者java新版本语法,需要你摒弃以前的思维去学习,Go是教你如何使用而不是为什么
学习Go语言作者说用 Go 写程序会非常开心!而事实证明拥有编程思维的你去学习Go时,实在是不开心,往往都是因为语法的编程习惯而需要重新检查demo
1.Hello World
准备环境:vscode,Go语言SDK,
![请在此添加图片描述](https://ask.qcloudimg.com/http-save/yehe-6026903/7wford5zva.png?qc_blockWidth=527&qc_blockHeight=546)
![请在此添加图片描述](https://ask.qcloudimg.com/http-save/yehe-6026903/pghue6heqg.png?qc_blockWidth=288&qc_blockHeight=103)
```javascript
package main
import "fmt"
func main(){
fmt.Println("hello")
}
```
注意:未曾使用的包导入会报错,语句结束另起一行,不需要;结尾,也就是每一条语句占用一行
```javascript
package main
import "fmt"
import "unsafe"
func main(){
fmt.Println("hello")
var n1=100
fmt.Printf("n1 的类型%T \n",n1)
var n2 int64=10
fmt.Printf("n2 的类型%T \n n2字节数 %d",n2,unsafe.Sizeof(n2))
var c2 byte='a'
fmt.Println("c2=",c2)
var b=false
fmt.Println("b=",b)
var address string="ndjasndqjd1"
fmt.Println(address)
var n3 int32=12
var n4 int64
var n5 int8
n4=int64(n3)+20
n5=int8(n3)+20
fmt.Println("n4=",n4,"n5=",n5)
fmt.Sprintf("%d",n4)
fmt.Sprintf("n4的地址",&n4)
a :=100
fmt.Println(a)
for i :=0;i<=10;i++{
fmt.Println("hello",i)
}
fmt.Println("***********************")
var num int=9
for i:=1;i<=num;i++{
for j:=1;j<=i;j++{
fmt.Printf("%v * %v=%v \t",j,i,j*i)
}
fmt.Println()
}
for i:=0;i<4;i++{
for j:=0;j<10;j++{
if j==2{
continue
}
fmt.Println("j=",j)
}
}
}
```
整体的语法是对java的一个简化,目前学习进度在面向对象编程一篇,带着问题看Go如何解决并体验并行的快乐
如果你渴望学习新语言,并体验并行多核带来的体验,可以接触下Go,并在github,gitee上找到demo项目运行。
![请在此添加图片描述](https://ask.qcloudimg.com/http-save/yehe-6026903/04azsfp1ye.png?qc_blockWidth=679&qc_blockHeight=575)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)