Golang 回圈与阵列

Golang

来吧来吧~终於来到了回圈的世界,先上菜看看for的表现是如何的?

For

package main

import "fmt"

func main() {
	i := 1

	for i <= 10 {
		fmt.Println(i)

		i++
	}

	for i := 1; i <= 10; i++ {
		fmt.Println(i)
	}

}

此时break返回也来凑热闹了,原来跟其他家的玩法雷同阿,加了break就可以从回圈中离开罗!!

package main

import "fmt"

func main() {
	for i := 1; i <= 10; i++ {
		if 5 < i {
			break
		}

		fmt.Println(i)
	}

}

阿~如果返回都一样,没道理忽略此次回圈的方式会不同吧!

package main

import "fmt"

func main() {
	for i := 1; i <= 10; i++ {
		if i%2 == 0 {
			continue
		}

		fmt.Println(i)
	}
}

另外来看一下特别的goto吧!!
goto (跳到同函式中某个位置)
备注:
Goto这个使用方式看起来是颇具争议的,有些人认为使用goto会让程序的结构变得复杂(因为他会直接跳离),但也有人主张适时的使用goto反而可以让程序码更简洁,这部分就见仁见智罗!

package main

import "fmt"

func main() {
  
   a := 10

   
   LOOP: for a < 20 {
      if a == 15 {
         a = a + 1
         goto LOOP
      }
      fmt.Println(a)
      a++    
   }  
}

最後来看一下 九九乘法呗

package main 

import "fmt"

func main() {
    twoForMethod()
    gotoMethod()
}

//
func twoForMethod() {
    for m := 1; m < 10; m++ {
        for n := 1; n <= m; n++ {
      fmt.Printf("%dx%d=%d ",n,m,m*n)
        }
        fmt.Println("")
    }
}
//
func gotoMethod() {
    for m := 1; m < 10; m++ {
    n := 1
    LOOP: if n <= m {
        fmt.Printf("%dx%d=%d ",n,m,m*n)
        n++
        goto LOOP
    } else {
        fmt.Println("")
    }
    n++
    }
}

阵列
宣告阵列的时候,要注意一下赋值的是int还是string唷,参考范例如下

package main

import "fmt"

func main() {
   var arr [10]int 
   var i,j int
 
   var langs [4]string
   langs[0] = "Go"
   fmt.Printf("langs[0] = %s\n",  langs[0] )
      
   for i = 0; i < 10; i++ {
      arr[i] = i  /* 设置 i + 100 */
   }

   /* 输出 */
   for j = 0; j < 10; j++ {
      fmt.Printf("arr[%d] = %d\n", j, arr[j] )
   }
}

然後我听隔壁的老王说了一件很重要的事情
golang阵列的长度在定义後不可更改
golang阵列的长度在定义後不可更改
golang阵列的长度在定义後不可更改
很重要,所以我打了三次! 绝对不是混字阿


<<:  Day 03 | 透过指令建立元件

>>:  D4: [漫画]工程师太师了-第2.5话

29 - Hygen - 程序码产生器

在开发时,我们总是需要为系统加入新的功能,这意味着专案中的档案会逐渐增多,虽然依照要扩充的功能不同,...

SAML-断言(assertion)

断言是关於实体或主题的陈述,通常以名称-值对的形式表示。 “ MaritalStatus = Fal...

Day01 前言

自我介绍 大家好,我是 Nick,15年开始接触 iOS App 的开发,在学习的过程中独立完成一...

D14 - 用 Swift 和公开资讯,打造投资理财的 Apps { 加权指数K线图实作.2 }

制作 K 线的 Data Model,从前面文章 [加权指数K线图实作.2] 的 response ...

Day29. Rails MVC 的 Model - 与资料库联络的桥梁

碍於篇幅的关系,来不及介绍关於Rails MVC的所有全貌。在Day23介绍了基本的MVC操作,今天...