JAVA转Golang

举报
赵KK日常技术记录 发表于 2023/06/24 11:46:10 2023/06/24
【摘要】 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。