栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

go语言学习【五】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go语言学习【五】

这里写目录标题

for循环的死循环字符串的两种遍历方式与Java和C不一样的地方如何设置随机数使用label标签来指定break跳出位置

第一种label:第二种label continue,goto的使用

for循环的死循环

代码如下:

package main
import (
	"fmt"
)
func main()  {
	var a=10
	for ; ; {//与for{
						//}效果一样
		fmt.Println(a)
		a++
		if a==12{
			break
		}
	
	}
}
字符串的两种遍历方式

第一种是用传统的for-i循环遍历,
第二种是利用go种自带的方法。
attention
1:注意在utf-8中一个中文占三个字节。
2:对于传统的遍历,在遇到中文是会导致输出错误,我们可以重新将它转换成为切片,在定义一个字符串来接收转换出来的数据。
3:go中的for-range遍历可以直接查找出中文。使用字符遍历。
代码如下:

package main
import "fmt"
func main (){
	st:="fzuishuai是的"
	st2:=[]rune(st)//将st转换成切片
	for i:=0;i 

运行结果截图:

与Java和C不一样的地方

go中没有while和do-while循环,都是用for循环来实现相关的功能。

如何设置随机数

1:首先我们将会用到rand函数,使用这个函数需要引入“math/rand”包 ,使用方法:
定义的变量:=rand.Intn(随机数上界);
你所定义的变量将会随机生成,注意随机数为0到上界减一,不包括上界。
==但是这样定义出来的随机数是伪随机数,每次运行的结果都是一样的,这个时候就需要设置时间种子:time.Now.Unix()->返回一个从1970.1.1.0h.0min到现在的秒数。
使用方法见代码:

package main
import (
   "fmt"
   "math/rand"
   "time"
)
func main(){
   rand.Seed(time.Now().Unix())
   for{
   	n:=rand.Intn(100)+1;//从1-100随机数
   	fmt.Println(n)
   	if(n==1){
   		break
   	}
   	
   }

}

运行结果截图:

使用label标签来指定break跳出位置

文字不好说明,看代码吧:

第一种label:
package main
import "fmt"
func main(){
	for i:=0;i<10;i++{
		label1:
		for j:=0;j<10;j++{
			fmt.Print(j)
			if j==3{
				break label1
			}
		}
		fmt.Print("n")
	}
}

运行结果截图:
可以看到一共运行了10次,每次j=3时就跳出j的循环,执行i的循环。

第二种label
package main
import "fmt"
func main(){
	label2:
	for i:=0;i<10;i++{
		
		for j:=0;j<10;j++{
			fmt.Print(j)
			if j==3{
				break label2
			}
		}
		fmt.Print("n")
	}
}

运行结果截图:
可以看到当运行了一次 j 循环后直接跳出了 i 循环。

continue,goto的使用

1:continue是用来跳过这次循环开始下一次循环的,和c++的一样,不在赘述。
2:go中是支持goto语句的使用的,配合label标签使用,但是一般不建议使用,因为代码将会更难理解。
示例代码如图:

package main
import "fmt"
func main(){
	fmt.Println("fyf")
	goto label1
	fmt.Println("f")
	fmt.Println("y")
	label1:
	fmt.Println("i")
	fmt.Println("k")
	fmt.Println("m")
}

运行结果截图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750677.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号