慢聊Go之GoVSJava之微观比较(5)|Go主题月

简介: 慢聊Go之GoVSJava之微观比较(5)|Go主题月

前言

正常来说,一门语言最基本的语法,那就是判断、循环。我们已经讲了判断,今天我们来搞一下循环。

话不多说,开搞!

Java中的循环

for循环
public static void main(String[]args) {
    for(int i=0;i < 10;i++) {
        // for循环
        continue;
    }
}
while循环
public static void main(String[]args) {
    while(true) {
        // while 循环
    }
}
do while循环
do {
    // do something
} while(true);

Go中的循环

for循环

示例1:与Java相比省略小括号

package main
import (
"fmt"
)
func main() {
   for i := 1; i < 10; i++ {
      fmt.Println(i)
   }
}

示例2:和while相同,break、continue同java关键词一样的

package main
import (
   "fmt"
)
func main() {
   i := 0
   //省略另外两项,相当于java中的while
   for i < 3 {
      i++
   }
   //break用法相同
   for i == 3 {
      fmt.Println(i)
      break
   }
}

示例3:死循环,三项均可省略

package main
func main() {
   for {
   }
   for true {
   }
}

示例4:嵌套循环和Java也是一样,哈哈不再赘述演示了。

示例5:range循环 -- Go中拥有的方式

package main
import "fmt"
func main() {
   var data [10]int = [10]int{1,2,3,4,5,6,7,8,9,10}
   for  i, num := range data {
      fmt.Println(i,num)
   }
}
goto

在Go语言中,使用了一种跳转方式。不知道,谁能记得,在Java中预留的没有使用的关键字,Goto。虽然预留,但是没有使用。在C语言中是正常用的。

在Go语言中,使用了goto关键字,进行跳转。

package main
import "fmt"
func main() {
   //goto可以用在任何地方,但是不能跨函数使用
   fmt.Println("start")
   //go to的作用是跳转,中间的语句不执行,无条件跳转
   goto my_location //goto是关键字, my_location可以自定义,他叫标签
   fmt.Println("over")
   my_location:
   fmt.Println("location")
}

总结

选择结构、判断结构、循环结构,是我们再学习一门语言的必须掌握的结构体。之前,我们学了判断,今天,我们学习了循环,对比Java和Go的结构,其实基本上异曲同工之妙。

时间是一个难以匹敌的对手,总会让你上前。也总会让你变成一个不同的存在。

所以努力上前吧。加油!!


目录
相关文章
|
9月前
|
存储 JSON Go
|
9月前
|
存储 安全 编译器
|
9月前
|
移动开发 算法 编译器
OAUTH之钉钉第三方授权 | GO主题月
hello,我是小魔童哪吒,欢迎点击关注,有更新,将第一时间呈现到你的面前 胖sir:小魔童,我今天收到了一个需求,期望我们做一个第三方登录的功能,用户可以通过第三方授权来登录我们的web
258 0
|
9月前
|
Go Cloud Native
为什么要写技术文章 | GO主题月
这个问题对于每一个人来说各有各的原因。有的为了写作变现,有的为了自己的兴趣,写小说,写文章,写书。
为什么要写技术文章 | GO主题月
|
9月前
|
网络安全 Go Cloud Native
SSH连接服务器后执行多条命令 |Go主题月
大家平时有没有遇到自己连接云服务器,ssh 连接上去之后,发现自己的一些小工具用不了 例如go build无法使用 ,由于我们安装配置golang 环境的时候,是在文件/etc/profile中写了配置,因此需要source 一下/etc/profile
119 0
SSH连接服务器后执行多条命令 |Go主题月
|
9月前
|
Linux Go Windows
|
9月前
|
Go Windows Cloud Native
5个步骤搞定protoc环境安装 | GO主题月
[TOC] 胖sir:不知道你有没有这样的疑惑,工作中发现很多新接触GO的小伙伴安装protoc的环境需要折腾很久,刚才开我装环境的时候也是花了好长时间,最后如何装好的也不知原因,网上查找了各种资源,也没有一篇文章可以很好的解决这个问题.
1537 0
|
17天前
|
Go
go语言中的数据类型
go语言中的数据类型
13 0
|
4天前
|
数据采集 存储 Go
使用Go语言和chromedp库下载Instagram图片:简易指南
Go语言爬虫示例使用chromedp库下载Instagram图片,关键步骤包括设置代理IP、创建带代理的浏览器上下文及执行任务,如导航至用户页面、截图并存储图片。代码中新增`analyzeAndStoreImage`函数对图片进行分析和分类后存储。注意Instagram的反爬策略可能需要代码适时调整。
使用Go语言和chromedp库下载Instagram图片:简易指南
|
1天前
|
安全 Go 开发者
Golang深入浅出之-Go语言并发编程面试:Goroutine简介与创建
【4月更文挑战第22天】Go语言的Goroutine是其并发模型的核心,是一种轻量级线程,能低成本创建和销毁,支持并发和并行执行。创建Goroutine使用`go`关键字,如`go sayHello(&quot;Alice&quot;)`。常见问题包括忘记使用`go`关键字、不正确处理通道同步和关闭、以及Goroutine泄漏。解决方法包括确保使用`go`启动函数、在发送完数据后关闭通道、设置Goroutine退出条件。理解并掌握这些能帮助开发者编写高效、安全的并发程序。
10 1