for循环

6.笔记go语言——for循环

孤街浪徒 提交于 2019-12-07 23:06:56
6.笔记go语言——for循环 for Go 只有一种循环结构——`for` 循环。 基本的 for 循环除了没有了 `( )` 之外(甚至强制不能使用它们),看起来跟 C 或者 Java 中做的一样,而 `{ }` 是必须的。 package main import "fmt" func main() { sum:= 0 for i:= 0; i < 10; i++ { sum+= i } fmt.Println(sum) } 执行: 45 跟 C 或者 Java 中一样,可以让前置、后置语句为空。 package main import "fmt" func main() { sum:= 1 forsum < 1000 { sum+= sum } fmt.Println(sum) } 基于此可以省略分号:C 的 while 在 Go 中叫做 `for`。 package main import "fmt" func main() { sum:= 1 forsum < 1000 { sum+= sum } fmt.Println(sum) } 死循环 如果省略了循环条件,循环就不会结束,因此可以用更简洁地形式表达死循环。 package main func main() { for { } } 来源: CSDN 作者: badman250 链接: https://blog

GO语言的循环和循环控制语句

妖精的绣舞 提交于 2019-12-07 23:05:03
循环语句 为了简化程序中有规律的重复性操作,需要用到循环语句,和其他大多数编程语言一样,GO的循环语句有for循环,不同的是没有while循环。 for循环 GO语言的for循环有3种形式: for init; condition; post { } for i := 0 ; i < 10 ; i ++ { fmt.Println(i) } 运行结果如下: for condition { } 类似其他语言的while循环。 a := 10 b := 0 for a > b { fmt.Println(b) b ++ } 运行结果如下: for { } package main import "fmt" func main() { numbers := [6]int{1, 2, 3, 5} //初始化数组 for i,x:= range numbers { fmt.Printf("第 %d 位 x 的值 = %d\n", i,x) } } 运行结果如下: 循环嵌套 以上三种循环格式可以根据使用情况任意嵌套。示例: package main import "fmt" func main() { var i, j int for i=2; i < 100; i++ { for j=2; j <= (i/j); j++ { if(i%j==0) { break; } } if(j > (i

Go语言学习心得--Go语言的循环语句一(for循环)

≡放荡痞女 提交于 2019-12-07 23:03:18
有时候我们在开发的时候需要有一些循环的语句,来解决有些规律性的重复性操作。 这就需要执行某些语句了,看看执行流程 我们先说两种for循环, 一。for循环 二。嵌套for循环 Go 语言 for 循环 Go语言的For循环有3中形式,只有其中的一种使用分号。 1.和 C 语言的 for 一样: for init; condition; post { } init: 一般为赋值表达式,给控制变量赋初值; condition: 关系表达式或逻辑表达式,循环控制条件; post: 一般为赋值表达式,给控制变量增量或减量。 2.和 C 的 while 一样: for condition { } 3.和 C 的 for(;? 一样: for { } 反正我感觉和JAVA确实是有点区别的。 for语句执行过程如下: ①先对表达式1赋初值; ②判别赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。 for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下: for key, value := range oldMap { newMap[key] = value }

go语言学习-for循环

馋奶兔 提交于 2019-12-07 23:03:02
一般介绍: go只支持for循环结构,不支持while循环结构。 1、for循环最基本的形式: for condition {loop body} i := 1; for i < 5 { fmt.Println(i); i++; } 2、for循环典型形式: for initial/condition/after {loop body} for i := 1; i < 5; i++ { fmt.Println(i); } 3、当然,也可以什么都没有( initial/condition/after 都没有),这样的for循环会一直重复执行循环体的内容,除非你使用 break 关键字提前结束循环操作,或者 return 结束整个函数: for {loop body} i := 1; for { fmt.Println(i); if ++i > 5 { break; // or return; } } 4、和其他语言一样,for循环也支持continue关键字,用于跳过当前循环执行,直接进入到下一次循环执行。 for n := 0; n <= 5; n++ { if n%2 == 0 { continue; } fmt.Println(n); } 代码示例: package main import "fmt" func main() { // 最基本的形式 i := 1; for i

Go 语言 for 循环

女生的网名这么多〃 提交于 2019-12-07 23:02:49
1、 Go 语言循环语句 for循环是一个循环控制结构,可以执行指定次数的循环。 语法 Go语言的For循环有3中形式,只有其中的一种使用分号。 和 C 语言的 for 一样: for init; condition; post { } 和 C 的 while 一样: for condition { } 和 C 的 for(;;) 一样: for { } init: 一般为赋值表达式,给控制变量赋初值; condition: 关系表达式或逻辑表达式,循环控制条件; post: 一般为赋值表达式,给控制变量增量或减量。 for语句执行过程如下: ①先对表达式1赋初值; ②判别赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。 for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下: for key, value := range oldMap { newMap[key] = value } for语句语法流程如下图所示: package main import "fmt" func main() { var b int = 15 var a int

数据结构中涉及的排序算法

末鹿安然 提交于 2019-12-07 22:06:21
下面按照课本的分类,做了大致的内排序的归类的图片: 下面我们逐个来实现排序的算法: 一、插入排序算法: 包括:直接插入、折半插入、和希尔排序 其中,插入排序的思想都是一样的,都是以首个待排序的数字作为假设已经有序的序列,然后从已经有序的序列的最后一个位置,从后往前找满这趟比较中元素适合放置的位置。 1. 直接插入插入排序: /* 直接插入插入排序,假定首个元素有序, 待插入元素和前面的元素依次大小比较, 如果满足该元素小于前面一次由后到前的元素,就依次移动元素 循环判断 时间复杂度O(n^2) 稳定排序 基本有序时时间复杂度为O(n) */ void insertSort1(int a[], int n){ //直接插入排序 int temp,j; for(int i=1;i<n;i++){ temp = a[i]; j = i-1; while(j>=0 and temp<a[j]){ //逐个元素比较,逐个移动元素 a[j+1] = a[j]; j--; } a[j+1] = temp; } } void insertSort2(int a[], int n){ int i, j, temp; for(i=1;i<n;i++){ temp = a[i]; for(j=i-1;temp<a[j] and j>=0;j--){ a[j+1] = a[j]; } a[j+1] =

《大话数据结构》常见排序算法总结(一)

北城余情 提交于 2019-12-07 22:01:53
文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.04.06 lutianfei none V1.1 2016.07.19 lutianfei 增加了快速排序算法 排序 外排序:需要在内外存之间多次交换数据才能进行 内排序: 插入类排序 直接插入排序 希尔排序 选择类排序 简单选择排序 堆排序 交换类排序 冒泡排序 快速排序 归并类排序 归并排序 排序方法 平均情况 最好情况 最坏情况 辅助空间 稳定性 冒泡排序 O(n^2) O(n) O(n^2) O(1) 稳定 简单选择排序 O(n^2) O(n^2) O(n^2) O(1) 稳定 直接插入排序 O(n^2) O(n) O(n^2) O(1) 稳定 希尔排序 O(nlogn)~O(n^2) O(n^1.3) O(n^2) O(1) 不稳定 堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳定 归并排序 O(nlogn) O(nlogn) O(nlogn) O(n) 稳定 快速排序 O(nlogn) O(nlogn) O(n^2) O(logn)~O(n) 不稳定 测试工程说明 下文都是用以下测试用例进行测试 public static void main (String[] args) { int [] A = new int [] { 11 , 2 , 3 , 22 ,

Scala 中for循环示例

爷,独闯天下 提交于 2019-12-07 20:00:11
1、代码 package com.yy.enhance /** * Scala for 循环示例 */ case class Student(name:String,isMale:Boolean,children:Student*) object ForExpressionTest extends App { val xx = Student("xx",false) val yy = Student("yy",true) val zz = Student("zz",false,xx,yy) val students = List(xx,yy,zz) val result = students filter(s => !s.isMale) flatMap( s=>(s.children map(child=>(s.name,child.name))) ) println(result) //使用for循环 val forRs = for(s <- students; if !s.isMale; child <- s.children) yield(s.name,child.name) println(forRs) } 2、结果 List((zz,xx), (zz,yy)) List((zz,xx), (zz,yy)) 有关yield的用法,请参考 Scala 的 yield 例子

scala之for循环

一世执手 提交于 2019-12-07 19:59:16
文章目录 for循环的几种方式 第一种 第二种 第三种(循环守卫) 第四种(引入变量) 第五种(嵌套循环) 第六种(循环返回值) 第七种(会用花括号代替小括号) 注意 总结 for循环的几种方式 第一种 i 表示循环的变量, <- 规定好 to 规定 i 将会从 1-3 循环, 前后闭合 for(i <- 1 to 3){ print(i + " ") } 第二种 这种方式和前面的区别在于 i 是从1 到 3-1 前闭合后开的范围,和java的arr.length() 类似 for(i <- 1 until 3) { print(i + " ") } 第三种(循环守卫) for(i <- 1 to 3 if i != 2) { print(i + " ") } 这个代码等价于 for (i <- 1 to 3) { if (i != 2) { println(i+"") } } 第四种(引入变量) for(i <- 1 to 3; j = 4 - i) { print(j + " ") } 没有关键字,所以范围后一定要加;来隔断逻辑 上面的代码等价 for ( i <- 1 to 3) { val j = 4 –i print(j+"") } 第五种(嵌套循环) for(i <- 1 to 3; j <- 1 to 3) { println(" i =" + i + " j = "

Scala循环

孤街醉人 提交于 2019-12-07 19:55:49
to关键字和until关键字的使用 if条件语句 while和for循环 九九乘法表的打印 学习笔记 object Test1 { def main(args: Array[String]): Unit={ println(1 to 10) //不包括10 println(1 until 10) //yield将值封装到集合中 val res=for(i<-1 until 10) yield i println(res) println("=================================================") println(1 to (10,2)) println(1 until (10,2)) println(1,10) for (i<- 1 to 10){ print(i+" ") } println() //贼简单的语法 for (i<- 1 to 10 if i>5) { print(i+"\t") } println() println("+++++++++++++++++++++++++++++++++++++++++++++++++++") for (i<- 1 until 10){ print(i+" ") } println() println("==========================================