func switchmethod(n int) {
switch n {
case 1, 2, 3, 4, 5:
fmt.Println("上班")
break
case 6, 7:
fmt.Println("放假")
break
default:
fmt.Printf("输入有误 %v", n)
}
在JAVA 中 通常都是通过起别名的方式来跳出外层循环 ,而Go 则是通过 goto + lable 来实现的
//多层循环嵌套
func twocircu() {
for i := 0; i < 100; i++ {
for b := 0; b < 100; b++ {
if b == 2 {
fmt.Println(i, "---", b)
goto SS
}
}
}
SS:
fmt.Println("结束")
}
== 只能比较相同类型的变量
数组的 元素类型 和 长度 都是数组的类型属性
也就是说 两个数组 如果 长度 或 元素类型不一致的时候 是不能用 == 号比较的
// 静态初始化 方式一: 固定长度
arr1 := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
fmt.Println(arr1)
// 静态初始化 方式二:自动推断长度
arr2 := [...]byte{'a', 'b', 'c'}
fmt.Println(arr2)
//静态初始化 方式三:根据索引值,固定值
arr3 := [5]int{1: 10, 2: 20}
fmt.Println(arr3)
//动态初始化
arr4 := [5]int{}
arr4[0] = 1;
arr4[2] = 2;
fmt.Println(arr4)
在JAVA中 数组是三种引用类型之一
而在Go中 数组是数值类型
//声明局部变量记录总和 (局部变量必须被使用)
sum := 0;
//静态声明一个数组
numarr := [3]int{1, 3, 5}
//遍历求和
for _, num := range numarr {
sum += num
}
fmt.Println(sum)
//声明数组
nums := [...]int{1, 2, 3, 4, 5, 6, 7, 8, 9}
//查找元素
for i1, num1 := range nums {
for i2, num2 := range nums {
if n == (num1 + num2) {
fmt.Println(num1, "---", num2)
return i1, i2
}
}
}
return -1, -1