在 Go 语言中,for 循环不仅可以用来实现类似于 Java 中的 while 循环的功能,还能带来很多有趣的编程体验哦!🎉 其实,Go 语言没有单独的 while 关键字,但别担心,所有的循环结构都可以通过万能的 for 解决!🤗
让我们用一些有趣的例子来看看吧~ 🌟
示例 1:简单的 while 循环
Java 版本:
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
Go 版本:
package main
import "fmt"
func main() {
i := 0
for i < 10 {
fmt.Println(i)
i++
}
}
是不是很简单?在 Go 里,for 循环直接表达了 while 的逻辑!🎈
示例 2:无限循环
Java 版本:
while (true) {
// 代码
}
Go 版本:
package main
func main() {
for {
// 代码
}
}
无限循环也很轻松搞定啦!✨
示例 3:带有 break 条件的 while 循环
Java 版本:
int i = 0;
while (true) {
if (i >= 10) {
break;
}
System.out.println(i);
i++;
}
Go 版本:
package main
import "fmt"
func main() {
i := 0
for {
if i >= 10 {
break
}
fmt.Println(i)
i++
}
}
Go 语言里,我们可以灵活地用 break 来控制循环的终止。🛑
传统的 for 循环
Java 版本
传统的 for 循环,用于遍历数组或集合:
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
Go 版本
Go 语言中类似的 for 循环:
package main
import "fmt"
func main() {
arr := []int{1, 2, 3, 4, 5}
for i := 0; i < len(arr); i++ {
fmt.Println(arr[i])
}
}
看看,多么简洁明了!👏
增强的 for 循环(foreach)
Java 版本
增强的 for 循环让遍历变得更简单:
int[] arr = {1, 2, 3, 4, 5};
for (int num : arr) {
System.out.println(num);
}
Go 版本
Go 语言使用 for range 实现:
package main
import "fmt"
func main() {
arr := []int{1, 2, 3, 4, 5}
for _, num := range arr {
fmt.Println(num)
}
}
用 for range,遍历数组更加得心应手哦!💕
遍历映射(Map)
Java 版本
在 Java 中遍历映射:
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
Go 版本
在 Go 语言中使用 for range 遍历映射:
package main
import "fmt"
func main() {
m := map[string]int{"one": 1, "two": 2, "three": 3}
for key, value := range m {
fmt.Println(key, ":", value)
}
}
操作简单又方便!🌈
遍历字符串
Java 版本
遍历字符串就像遍历字符数组:
String str = "hello";
for (char ch : str.toCharArray()) {
System.out.println(ch);
}
Go 版本
Go 语言中也可以轻松遍历字符串:
package main
import "fmt"
func main() {
str := "hello"
for _, ch := range str {
fmt.Println(string(ch))
}
}
每个字符都不放过!😊
do-while 循环
Java 版本
Java 中的 do-while 循环:
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 10);
Go 版本
在 Go 里,我们可以这样实现:
package main
import "fmt"
func main() {
i := 0
for {
fmt.Println(i)
i++
if i >= 10 {
break
}
}
}
没有 do-while 关键字,我们用 for 和 break 一样实现了哦!🌟
更加通用的 do-while 实现
我们还可以把循环逻辑封装在一个函数中:
package main
import "fmt"
func doWhile(condition func() bool, action func()) {
for {
action()
if !condition() {
break
}
}
}
func main() {
i := 0
doWhile(func() bool {
return i < 10
}, func() {
fmt.Println(i)
i++
})
}
灵活又强大,Go 语言的 for 循环真是无所不能呢!💪
总结一下:Go 语言中的 for 循环非常灵活,可以用来实现传统的 for 循环、while 循环、do-while 循环和 foreach 遍历。无论是数组、切片、映射还是字符串,都能轻松搞定!✌️
快来试试这些有趣的循环吧,你一定会爱上 Go 语言的!🌟💖