Go语言初学者之学习笔记(二)

续上篇学习笔记。Go语言具有着分布式系统,数据库代理器等优势,并且应用于云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建。在这里,笔者学习并归纳了一些初学Go语言时的知识点。

If 语句由布尔表达式后紧跟一个或多个语句组成,表示判断语句。switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。Break语句用于循环语句中跳出循环,并开始执行循环之后的语句。Break语句在程序中可以用在当运行到某一步时,不想该循环继续运行下去的情况。在多重循环时,跳出一层循环,可以使用label标记想跳出的循环。Continue语句则与break相似,但不是跳出循环,是执行下一次循环。意味着如果想让循环继续下去,但不想要这次循环的值,可以使用continue语句。Goto语句的用法是可以无条件转移到指定的行,这样可以用来很多功能,例如跳出循环体等。使用Goto语句时能简化一些代码,但是不建议使用,因为可能会造成逻辑混乱等问题。在Golang中,有两个包提供了rand,分别为 “math/rand” 和 “crypto/rand”, 对应两种使用情况。并且”crypto/rand“ 包实现了用于加解密的更安全的随机数生成器。Go 语言提供了数组类型的数据结构。与java,python等语言中的声明数组方法相似,并且数组元素可以通过索引来读取。golang中也有sort方法,并且其使用方法简单,并且具有强大的功能。

  1. If 语句
    If 语句在Go语言当中的使用与其他语言中的使用是十分相似的。在这里写一下Go语言中if语句的其他写法。
	if num:=1;num>0{
		fmt.Println("Right")
	}else if num<0{
		fmt.Println("Wrong")
	}

If 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则不执行。

流程图如下:
在这里插入图片描述

  1. Switch语句
    也是一种条件语句。
	num:=1
	switch num{
	case 1:
		fmt.Println("第一")
	case 2:
		fmt.Println("第二")
	case 3:
		fmt.Println("第三")
	default:
		fmt.Println("无排名")
	}

switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。

switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough

switch表达式必须紧随switch关键字出现。在后面的花括号中,一个关键字case、case表达式、冒号以及后跟的若干条语句组成为一条case语句。在switch语句中可以有若干条case语句。Go语言会依照从上至下的顺序对每一条case语句中case表达式进行求值。只要被发现其表达式与switch表达式的结果相同,该case语句就会被选中。它包含的那些语句就会被执行。而其余的case语句则会被忽略。

  1. break语句
    跳出循环体,终止for循环。
	for i:=0; i<10; i++{
		if i>8 {
			break
		}
		fmt.Println("Good")
	}

break 在 switch(开关语句)中在执行一条 case 后跳出语句的作用。
在多重循环中,可以用标号 label 标出想 break 的循环。

  1. continue语句
    跳出一次循环
	for i:=0;i<10;i++{
		if i==8 {
			continue
		}
		fmt.Println("Good")
	}

Go 语言的 continue 语句 有点像 break 语句。但是 continue 不是跳出循环,而是跳过当前循环执行下一次循环语句。

for 循环中,执行 continue 语句会触发 for 增量语句的执行。

在多重循环中,可以用标号 label 标出想 continue 的循环。

  1. goto语句
    可以无条件转移到过程中指定的行
	var a=1
	Loop:
		for a<10 {
			if a==8 {
				a+=1
				goto Loop
			}
			fmt.Println(a)
			a++
		}

Go 语言的 goto 语句可以无条件地转移到过程中指定的行。

goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

  1. 生成随机数
	num1:=rand.Int()
	fmt.Println(num1)
  1. array
    创建数组
arr:= [] int {0,1,2,3}

Go 语言提供了数组类型的数据结构。

数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。

  1. 数组排序
sort.Ints(nums)

sort包中实现了3种基本的排序算法:插入排序,快排和堆排序。和其他语言中一样,这三种方式都是不公开的,他们只在sort包内部使用。所以用户在使用sort包进行排序时无需考虑使用那种排序方式,sort.Interface定义的三个方法:获取数据集合长度的Len()方法、比较两个元素大小的Less()方法和交换两个元素位置的Swap()方法,就可以顺利对数据集合进行排序。sort包会根据实际数据自动选择高效的排序算法。

  1. 多维数组

创建多维数组
该二维数组的长度是3,存储的元素是一维数组,长度为4.
二维数组是最简单的多维数组,二维数组本质上是由一维数组组成的。

	a2:=[3][4]int{{},{},{}}
	fmt.Println(a2)

二维数组通过指定坐标来访问。如数组中的行索引与列索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值