您现在的位置是:主页 > news > 重庆网站目录/班级优化大师下载安装最新版

重庆网站目录/班级优化大师下载安装最新版

admin2025/5/14 7:58:45news

简介重庆网站目录,班级优化大师下载安装最新版,青岛做网站公司,做网站用c 还是php目录 1、if语句 流程图 示例 2、if else语句 流程图 示例 3、if语句嵌套 示例 4、switch语句 流程图 示例 Type Switch 示例 fallthrough 示例 5、select语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为true来决定是否执行指定…

重庆网站目录,班级优化大师下载安装最新版,青岛做网站公司,做网站用c 还是php目录 1、if语句 流程图 示例 2、if else语句 流程图 示例 3、if语句嵌套 示例 4、switch语句 流程图 示例 Type Switch 示例 fallthrough 示例 5、select语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为true来决定是否执行指定…

目录

1、if语句

流程图

示例

2、if else语句

流程图

示例

3、if语句嵌套

 示例

4、switch语句

流程图

示例

Type Switch

示例

fallthrough

示例

5、select语句


条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为true来决定是否执行指定语句,并在条件为false的情况在执行另外的语句。

语句描述
if 语句if 语句由一个布尔表达式后紧跟一个或多个语句组成。
if…else 语句if 语句后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
if 嵌套语句你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。
switch 语句switch 语句用于基于不同条件执行不同动作。
select 语句select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

1、if语句

if 语句由布尔表达式后紧跟一个或多个语句组成。

if  布尔表达式(true/false){
    
  /*在布尔表达式为true时执行*/

}

流程图

示例

2、if else语句

if语句后可以使用可选的else语句, else语句中的表达式在布尔表达式为false时执行。

if  布尔表达式(true/false){
    
  /*在布尔表达式为true时执行*/

}else 布尔表达式(true/false){
    
  /*在布尔表达式为false时执行*/

}

if 在布尔表达式为 true 时,其后紧随的语句块执行,如果为 false 则执行 else 语句块

流程图

 

示例

3、if语句嵌套

以在if或else if 语句中嵌入一个或多个if或else if 语句。

if   布尔表达式1 {
   /*在布尔表达式1为true 时执行*/
   if 布尔表达式2 {
      /*在布尔表达式2为true 时执行*/
   }
}

 示例

4、switch语句

switch语句用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上至下逐一测试,直到匹配为止。

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

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

switch var1 {
   case val1:
   ...
   case val2:
   ...
   default:
   ...
}

变量 var1 可以是任何类型,而 val1 和val2 则可以是同类型的任意值,类型不被局限于常量或整数,但是必须是相同的类型;或者最终结果为相同类型的表达式

流程图

示例

Type Switch

switch语句还可以被用于type-switch来判断某个interface(接口)变量中实际存储的变量类型

判断接口类型——引入空接口

switch x.(type){
    case type :
        statement(s);
    case Iype:
        statement(s);
/*你可以定义任意个数的case */
    default:/*可选*/
        statement(s);
}

示例

写法一

package mainimport "fmt"//全局变量可以不被调用,函数中申明的变量一定要被使用,否则会报错//type-switch语句,判断数据类型func main() {var x interface{}//判断数据类型type只能使用搭配switch,如果想单独使用输出数据类型,需要使用反射switch i := x.(type) {case nil:fmt.Printf("数据类型为%T", i)case int:fmt.Printf("数据类型为int")case float32, float64:fmt.Printf("数据类型是浮点型")case string:fmt.Printf("数据类型是字符串")case bool:fmt.Printf("数据类型是布尔型")default:fmt.Printf("数据类型是其他类型")}
}##
数据类型为<nil>

 写法二

package mainimport "fmt"//全局变量可以不被调用,函数中申明的变量一定要被使用,否则会报错
//type-switch语句,判断数据类型func main() {var number = 123oyyy(number)}func oyyy(x interface{}) {switch i := x.(type) {case nil:fmt.Printf("数据类型为%T", i)case int:fmt.Printf("数据类型为int")case float32, float64:fmt.Printf("数据类型是浮点型")case string:fmt.Printf("数据类型是字符串")case bool:fmt.Printf("数据类型是布尔型")default:fmt.Printf("数据类型是其他类型")}
}
##
数据类型为int

写法三

//反射

package mainimport ("fmt""reflect"
)//反射原理判断数据类型
func main() {var number *intfmt.Println("数据类型是:", reflect.TypeOf(number))
}
##
数据类型是: *int

fallthrough

使用falthrough 会强制执行后面的case语句,fallthrough不会判断下一条case的表达式结果是否为true。

示例

package mainimport "fmt"//fallthrough语句无视后面语句的判断结果,继续往下执行func main() {switch {case false:fmt.Println("1为false")fallthroughcase true:fmt.Println("2为true")fallthroughcase false:fmt.Println("3为flase")case true:fmt.Println("4为true")fallthroughdefault:fmt.Println("5")}
}
##
2为true
3为flase

5、select语句

select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。

select随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。

select {
    case communication clause:
       statement(s);
    case communication clause:
       statement(s);
    /*你可以定义任意数量的case " */
     default : /*可选*/
       statement(s);
}

  • 每个case都必须是一个通信

  • 所有channel表达式都会被求值

  • 所有被发送的表达式都会被求值

  • 如果任意某个通信可以进行,它就执行,其他被忽略。

  • 如果有多个case都可以运行,Select 会随机公平地选出一个执行。其他不会执行。否则:

    • 如果有default子句,则执行该语句。

    • 如果没有default子句,select将阻塞,直到某个通信可以运行;Go不会重新对channel或值进行求