慢聊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的结构,其实基本上异曲同工之妙。

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

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


目录
相关文章
|
Go Cloud Native
为什么要写技术文章 | GO主题月
这个问题对于每一个人来说各有各的原因。有的为了写作变现,有的为了自己的兴趣,写小说,写文章,写书。
为什么要写技术文章 | GO主题月
|
网络安全 Go Cloud Native
SSH连接服务器后执行多条命令 |Go主题月
大家平时有没有遇到自己连接云服务器,ssh 连接上去之后,发现自己的一些小工具用不了 例如go build无法使用 ,由于我们安装配置golang 环境的时候,是在文件/etc/profile中写了配置,因此需要source 一下/etc/profile
185 0
SSH连接服务器后执行多条命令 |Go主题月
|
存储 JSON Go
|
存储 安全 编译器
|
移动开发 算法 编译器
OAUTH之钉钉第三方授权 | GO主题月
hello,我是小魔童哪吒,欢迎点击关注,有更新,将第一时间呈现到你的面前 胖sir:小魔童,我今天收到了一个需求,期望我们做一个第三方登录的功能,用户可以通过第三方授权来登录我们的web
328 0
|
Linux Go Windows
|
Go Windows Cloud Native
5个步骤搞定protoc环境安装 | GO主题月
[TOC] 胖sir:不知道你有没有这样的疑惑,工作中发现很多新接触GO的小伙伴安装protoc的环境需要折腾很久,刚才开我装环境的时候也是花了好长时间,最后如何装好的也不知原因,网上查找了各种资源,也没有一篇文章可以很好的解决这个问题.
1647 0
|
9天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
49 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
30天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
40 7
|
29天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。