go语言中只有for这个关键字来做循环 。当然如果goto不算的话。当然还有break用于跳出循环,还有continue用于直接开始下一次循环。
传统for循环
for 初始化; 判断; 修改控制变量{}
for i := 0; i<10; i++{ }和C/C++一样
for (int i = 0; i < 10; i++) { }模拟while
var i int = 0 for i < 10{ \\do something i ++ }模拟do while
//go var i int = 0 var condition bool = true for condition { //do something condition = i < 10 i++ } 或者 var condition bool = true test = func(int c) (bool result){ result = c<10 return } for i := 0; condition; condition=test(i){ //do something }当然有更好的模拟方式,请留言给我,谢谢
死循环
//go for{ \\do something }遍历元素
//go var i = [3]int{ 0, 1, 2} //定义一个三个元素数组,并初始化 for _, item := range i{ } var m = map[string]string{"name":"zhangsan", "age":"36"} //定义一个map for key,value := range m{ }因为go语言的range会反回两个值,对于数组来说是元素的下标和元素本身,第一个循环中的”_“是一个占位符,表示我们对这个返回值不感兴趣。对于map就是反会key和value了
相当于 C++的
//C++ std=c++11 int i[3] = {0, 1, 2}; for (auto item : i){ } map<string, string> m; m["name"] = "zhangsan"; m["age"] = "36"; for (auto item : m) { auto key = item.first; auto value = item.second; }
