Go 语言 条件语句之if


概述

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

语法

package main

func main() {

      //第一种格式
       if  条件表达式 {
            语句1
       }

       //第二种格式
       if 初始化表达式; 条件表达式 {
            语句1
       }

       //第三种格式
       if 初始化表达式; 条件表达式 {
            语句1
       }else{
            语句2
       }

       //第四种格式
       if 初始化表达式; 条件表达式 {
            语句1
       }else if 初始化表达式; 条件表达式 {
            语句2
        }else{
            语句3
       }
    }

格式规则

1)Go语言中条件语句不需要圆括号,但是分支中必须有大括号。

2)Go语言条件语句中可以用 := 初始化一个变量,不过需要记住,这个变量是局部变量,该变量的作用域仅在if范围之内。

3)Go语言里面对 if/else 格式对齐要求很严格,如果需要 if/else 组合,则需要在if语句结束的大括号后面就跟上else。
这里写上代码

4)关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。

示例代码

package main

import (
    "fmt"
    "io/ioutil"  //一定要导入包
)

func main() {

    age := 10

    //1. 第一种表达式  if
    if age > 10 { //其他的语言有括号,这里没有括号,如果你加上了括号,go fmt还是会删除你的括号
        fmt.Println("age大于10")
    }

    //2. 第二种表达式  if else
    if age > 20 {
        fmt.Println("age大于20")
    } else {
        fmt.Println("age小于20")
    }

    //3. 第三种表达式 if-else if
    if age == 20 {
        fmt.Println("age等于20")
    } else if age > 20 {
        fmt.Println("age大于20")
    } else {
        fmt.Println("age小于20")

    }

    //4. 第四种格式 初始化表达式; 条件表达式
    if i := 20; i == 10 {
        fmt.Println("i等于10")
    } else {
        fmt.Println("i不等于10")
    }

    //读取文件 ioutil是个go自带的包,ReadFile首字母大小表示是公有的方法,nil表示是否为空,不为空是表示表示打开文件失败
    // 一定要导入 io/ioutil
    // 必须在当前目录下创建abc.txt文件
    if response, err := ioutil.ReadFile("abc.txt"); err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(string(response))
    }

}

Go 语言 条件语句之if介绍到这里,更多Go学习请参考编程字典Go教程 和问答部分,谢谢大家对编程字典的支持。


原文链接:https://blog.csdn.net/guofeng93/article/details/90645265?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163504077416780264068914%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163504077416780264068914&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-3-90645265.pc_v2_rank_blog_default&utm_term=go&spm=1018.2226.3001.4450