1.if - else if - else的使用

  1. package main
  2. import "fmt"
  3. func main() {
  4. // 1.简单使用
  5. var a=10
  6. if a==10 { // 这个位置不能回车,不能换行
  7. fmt.Println(a)
  8. }
  9. //2 if - else
  10. var b =16
  11. if b==20 {
  12. fmt.Println("20")
  13. }else{
  14. fmt.Println("15")
  15. }
  16. //3 if - else if - else
  17. var c =20
  18. if c==20 {
  19. fmt.Println("20")
  20. }else if c==15 {
  21. fmt.Println("15")
  22. }else {
  23. fmt.Println("10")
  24. }
  25. }

2.for循环

  1. package main
  2. func main() {
  3. // 基本语法
  4. for 初始化; 条件; 自增/自减{
  5. }
  6. }

2.1简单使用

  1. for a:=0; a<10; a++ {
  2. fmt.Println(a)
  3. }

2.2省略初始化

  1. a :=0
  2. for ;a<10 ; a++ {
  3. fmt.Println(a)
  4. }

2.3省略初始化和自增自减

  1. a :=0
  2. for ;a<10 ; {
  3. fmt.Println(a)
  4. a++
  5. }

2.4.省略初始化和自增自减(进阶版)

注意:两个分号省略了,(类似while循环)

  1. a :=0
  2. for a<10 {
  3. fmt.Println(a)
  4. a++
  5. }

2.5.死循环

  1. // 死循环一
  2. for true{
  3. fmt.Println("ak47")
  4. }
  5. // 死循环二(三部分都省略了)
  6. for {
  7. fmt.Println("ak47")
  8. break
  9. }

3.switch语句

3.1基本使用

  1. package main
  2. import "fmt"
  3. func main() {
  4. // 1.基本使用
  5. var a = 10
  6. switch a {
  7. case 1: //相当于if a==1
  8. fmt.Println("1")
  9. case 5:
  10. fmt.Println("5")
  11. case 10:
  12. fmt.Println("10")
  13. }
  14. }

3.2default

  1. var b = 18
  2. switch b {
  3. case 1:
  4. fmt.Println("1")
  5. case 5:
  6. fmt.Println("5")
  7. case 10:
  8. fmt.Println("10")
  9. default: //相当于else
  10. fmt.Println("你是蔡徐坤")
  11. }

3.3多表达式判断

(只要符合期中一个条件就成立)

  1. var c = 18
  2. switch c {
  3. case 1, 2, 5:
  4. fmt.Println("1")
  5. case 6, 7:
  6. fmt.Println("5")
  7. case 10, 15, 18:
  8. fmt.Println("10")
  9. default:
  10. fmt.Println("你是蔡徐坤")
  11. }

3.4无表达式

  1. var d = 30
  2. switch {
  3. case d == 20:
  4. fmt.Println("1")
  5. case d == 30:
  6. fmt.Println("5")
  7. case d == 40:
  8. fmt.Println("10")
  9. default:
  10. fmt.Println("你是蔡徐坤")
  11. }

3.5无表达式

and(和)的条件 && 或(or)的条件 ||

  1. var e = 20
  2. var d = 30
  3. switch {
  4. case d == 30 && e==20: //同时成立
  5. fmt.Println("1")
  6. case d == 30:
  7. fmt.Println("5")
  8. case d == 40:
  9. fmt.Println("10")
  10. default:
  11. fmt.Println("你是蔡徐坤")
  12. }

3.6.fallthrough

无条件执行下一个case(穿透)

  1. var f = 2
  2. switch {
  3. case f == 1:
  4. fmt.Println(1)
  5. case f == 2:
  6. fmt.Println(2)
  7. fallthrough //一旦碰到 fallthrough会无条件执行下面的语句
  8. case f == 6:
  9. fmt.Println(250)
  10. fallthrough ////只要代码读到fallthrough与他紧挨着的语句,无论是否满足条件,他都会执行里面的内容
  11. case f == 3:
  12. fmt.Println(666)
  13. }

4.数组

4.1定义数组

  1. package main
  2. import "fmt"
  3. func main() {
  4. // 同一类元素的集合, 不允许混合不同元素
  5. // 定义数组(定义了一个大小为4的int类型数组)
  6. var a [4]int // 四个为0的数组
  7. fmt.Println(a) // int默认值为0
  8. }

4.2使用数组

(从索引0开始)

  1. package main
  2. import "fmt"
  3. func main() {
  4. var a [4]int
  5. fmt.Println(a)
  6. a[0] = 10
  7. fmt.Println(a[0])
  8. fmt.Println(a)
  9. }

4.3定义并赋初始值(三种方式)

  1. package main
  2. import "fmt"
  3. func main() {
  4. // 1.
  5. //var b [4]int = [4]int{1,2,3,4}
  6. // 2.
  7. //var b = [4]int{1,2,3,4}
  8. // 3.
  9. b := [4]int{1,2,3,4}
  10. fmt.Println(b)
  11. }

4.4定义并赋初值(其他方式)

  1. package main
  2. import "fmt"
  3. func main() {
  4. //var c [4]int = [4]int{1,2} // 只给前两个赋值
  5. //var c [4]int = [4]int{1:2} // 只给第二个赋值,前面是索引,后面是值
  6. //var c [4]int = [4]int{1:2,2:3} // 只给第二,三个个赋值
  7. var c [4]int = [4]int{2:3,1:2} // 只给第二,三个个赋值
  8. c[3] = 100
  9. fmt.Println(c)
  10. }

4.5数组大小固定(大小一旦定义,不能改变)

  1. package main
  2. import "fmt"
  3. func main() {
  4. //var c [4]int = [5]int{1,2} // 错的
  5. //var c [4]int = [4]int{1,2,3,4,5} // 错的
  6. //var c [4]int = [4]int{1,2,3,4}
  7. //a[4] = 10 //错的,最大索引为3
  8. //fmt.Println(a[4]) //错的
  9. }

4.6.数组的大小是类型的一部分

  1. package main
  2. import "fmt"
  3. func main() {
  4. // 下面两个不是同一种类型(不能比较和加减)
  5. var a [3] int
  6. var b [4] int
  7. }

4.7.数组的值类型(引用类型)

// 说法不准确 (因为py中一切皆对象,不可变数据类型也是对象,对象就是地址)

// py中的不可变类型(值类型)当做参数传递到函数中,如果在函数中改变该值,原值不会变

// py中的可变类型(引用类型:地址)当做参数传递到函数中,如果在函数中改变该值,原值会改变

// go中值类型,当做参数传递时,copy一份过去,值被copy是相当于复制了一份过去

  1. package main
  2. import "fmt"
  3. func main() {
  4. var d = [4]int{1,2,3,4}
  5. test(d) // 当做参数传递过去
  6. fmt.Println(d) // 原值没有改变
  7. }
  8. func test(d [4]int) {
  9. d[0] = 100 // 修改值
  10. fmt.Println(d) // 传过来的数组改变了,但原值不变
  11. }

4.8数组的长度(len)

  1. package main
  2. import "fmt"
  3. func main() {
  4. var e = [4]int{1,2,3,4}
  5. fmt.Println(len(e))
  6. }

4.9数组的循环

  1. package main
  2. import "fmt"
  3. func main() {
  4. // 方法一:
  5. var a = [4]int{1,2,3,4}
  6. for i:=0 ;i<len(a) ;i++ {
  7. fmt.Println(a[i])
  8. }
  9. //方式二:(range关键字,它不是内置函数)把数组放在range关键字后
  10. var b = [4]int{1,55,3,66}
  11. for z:=range b{
  12. //fmt.Println(z)
  13. fmt.Println(b[z]) //这不是正统的用法
  14. }
  15. // 当用一个变量来接收时,这个变量就是索引
  16. // 当用两个变量来接收时,这两个变量就是索引和值
  17. for k,v:=range a {
  18. fmt.Println(k,v)
  19. }
  20. // 当你不想取索引的时候也可以用下划线代替
  21. for _,v:=range a {
  22. fmt.Println(v)
  23. }
  24. }

4.10多维数组

  1. package main
  2. import "fmt"
  3. func main() {
  4. var a [4][3]int
  5. fmt.Println(a)
  6. a[1][1] =100 // 修改值
  7. fmt.Println(a)
  8. }

4.11多维数组定义并赋初值

  1. package main
  2. import "fmt"
  3. func main() {
  4. var a = [4][3]int{{1,1,1},{2,2,2},{3,3,3},{4,4,4}}
  5. fmt.Println(a)
  6. // 把数组第二个位置初值改为[6,6,6]
  7. var b = [4][3]int{1:{6,6,6}}
  8. fmt.Println(b)
  9. var c = [4][3]string{1:{"6","6","6"}}
  10. fmt.Println(c)
  11. // 字符串的空值是空字符串 ""
  12. // int类型空值是 0
  13. // 数组的空值,取决于类型的空值
  14. var d [4][3]string
  15. fmt.Println(d)
  16. }

GO - if判断,for循环,switch语句,数组的使用的更多相关文章

  1. Go-函数高级使用-条件分支-包管理-for循环-switch语句-数组及切片-与或非逻辑符

    目录 科普 python 注释 # 函数高级 if else if else 包管理 下载第三方包 比较热门的框架 for 循环 for 循环的几种写法 switch 语句 数组及数组切片 数组迭代 ...

  2. 简易计算器实现:while循环+switch语句

    个人练习: 写一个计算器,要求实现加减乘除功能,并且能循环接收新的数据,通过用户交互实现(即Scanner对象) 用到了 while循环 switch语句,实现了数据的循环输入并计算!!!!妙啊!!! ...

  3. 包、mode模式、if-else语句、switch语句

    目录 包 mode模式 if-else语句 循环 switch语句 包 //1 在同一个包下(文件夹下),包名必须一致 //2 以后,包名就是文件夹的名字 //3 同一个包下,同名函数只能有一个(in ...

  4. 2、Golang基础--包的使用、if-else语句、循环、switch语句、数组、切片、可变函数参数、map类型

    1 包的使用 // 为了便于组织代码,同一种类型的代码,写在同一个包下,便于管理 // 定义包 -新建一个文件夹 -内部有很多go文件 -在每个go文件的第一行,都要声明包名,并且包名必须一致 -在一 ...

  5. 写给.NET开发者的Python教程(三):运算符、条件判断和循环语句

    本节会介绍Python中运算符的用法,以及条件判断和循环语句的使用方法. 运算符 运算符包括算术运算符.赋值运算符.比较运算符.逻辑运算符等内容,大部分用法和C#基本一致,下面我们来看一下: 算数运算 ...

  6. switch语句和for循环

    switch语句: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case后面的值可以是常量数值,如:1.日:也可以是一个常量表达式,如:2+2:但 不能是变量或带有变量的表达式 ...

  7. 我的PHP之旅--PHP的判断、循环语句

    if语句 <?php if ($a = "some string") { // 就算括号中不是bool值,php也会自动转换为bool值 上一节写过各个类型转换bool值 / ...

  8. 永久性for循环配合switch语句可以实现菜单功能

    永久性for循环配合switch语句可以实现菜单功能总结:加入想要无条件地跳转到某条语句执行,用goto语句: 加入想要对某种条件进行判断,为真或为假分别执行不同的语句,用if语句 加入想要检测的条件 ...

  9. 初学Java scirpt(判断、循环语句)

    在编写代码时,我们经常需要为不同的判断结果来执行不同的动作以及需要反复执行同一段代码,这时我们就需要使用判断和循环语句来实现. 1.判断语句(if) 判断语句经常用的有(if......else).( ...

随机推荐

  1. windows10使用npm安装vue、vue-cli

    从网上下载了一个免费的vue.js前端模板,准备和Django整合出一个项目出来,然后发现前端代码都是.vue文件,已经整合过.html,很容易,感觉这个.vue的前端稍微复杂一些 本文主要参考博客及 ...

  2. JSP详细解析

    原文地址: http://www.cnblogs.com/rollenholt/archive/2011/07/04/2097376.html http://www.cnblogs.com/jy024 ...

  3. [Algo] 73. Combinations Of Coins

    Given a number of different denominations of coins (e.g., 1 cent, 5 cents, 10 cents, 25 cents), get ...

  4. PAT甲级——1012 The Best Rank

    PATA1012 The Best Rank To evaluate the performance of our first year CS majored students, we conside ...

  5. Number of Digit One(Medium)

    1.算法说明: 如3141592,在m(digitDivide)=100时,即要求计算百位上"1"的个数 其中a为31415,b为92,31415中出现了3142次"1& ...

  6. 非IoC方式访问Servlet API的两种方法

    使用ActionContext访问 ActionContext来自com.opensymphony.xwork2.ActionContext 具体实现代码段如下: <span style=&qu ...

  7. C#输入输出及类型转换,变量,常量。

    //输出 Console.WriteLine("大哇塞"); 自动回车的. Console.Write("Hello world");  不带回车的 注意: 1 ...

  8. try中定义的变量在finally中找不到

    凡是代码块中的变量,作用域都只在代码块中 https://blog.csdn.net/qq_20936333/article/details/81062966 问题: 解决:

  9. IOC初始化销毁的2种实现方式

    IOC初始化销毁的2种实现方式 1.bean内调用init-method 和destroy-method 2.通过注解实现@PostConstruct 和@PreDestroy ----------- ...

  10. Linux中的AutoHotKey键映射替代方案

    Windows--AutoHotKey 初次了解AutoHotKey,是在Win下最爱效率神器: AutoHotKey | 晚晴幽草轩这篇博客中,博主有对AutoHotKey作详细介绍,这里不在赘余. ...