Go语言基础if条件语句用法及示例详解

 更新时间:2021年11月17日 14:54:58   作者:枫少文  
这篇文章主要为大家介绍了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语言if条件语句的资料请关注脚本之家其它相关文章!

相关文章

  • Go实现替换(覆盖)文件某一行内容的示例代码

    Go实现替换(覆盖)文件某一行内容的示例代码

    本文主要介绍了Go实现替换(覆盖)文件某一行内容的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Go sync WaitGroup使用深入理解

    Go sync WaitGroup使用深入理解

    这篇文章主要为大家介绍了Go sync WaitGroup使用深入理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 高效封禁:利用Go封装功能,提升封禁操作效率

    高效封禁:利用Go封装功能,提升封禁操作效率

    在网络安全领域,封禁操作是一项重要的任务,用于阻止恶意行为和保护系统安全,而利用Go语言封装功能可以提升封禁操作的效率,Go语言具有高效的并发性能和简洁的语法,使得开发者可以快速构建高性能的封禁系统,
    2023-10-10
  • Go语言web快速开发框架Gin的HttpRouter路由的使用

    Go语言web快速开发框架Gin的HttpRouter路由的使用

    in框架内部使用了高性能的路由器库httprouter,支持动态参数匹配和简洁的接口,本文主要介绍了Go语言web快速开发框架Gin的HttpRouter路由的使用,感兴趣的可以了解一下
    2025-03-03
  • Go语言中的Struct结构体

    Go语言中的Struct结构体

    这篇文章介绍了Go语言中的Struct结构体,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Go信号处理如何优雅地关闭你的应用

    Go信号处理如何优雅地关闭你的应用

    Go 中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用 context 来管理 goroutine 的生命周期,结合 signal 包捕获系统信号,你可以在 Go 应用中实现一个健壮且优雅的关闭过程,对Go关闭应用相关操作感兴趣的朋友一起看看吧
    2025-01-01
  • Go语言断言和类型查询的实现

    Go语言断言和类型查询的实现

    Go语言变量类型包含基础类型和复合类型,类型断言一般是对基础类型的处理,本文主要介绍了Go语言断言和类型查询的实现,感兴趣的可以了解一下
    2024-01-01
  • golang容易导致内存泄漏的6种情况汇总

    golang容易导致内存泄漏的6种情况汇总

    内存泄漏是我们在生产环境中必须面临的问题,下面这篇文章主要给大家介绍了关于golang容易导致内存泄漏的6种情况,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Go语言学习技巧之如何合理使用Pool

    Go语言学习技巧之如何合理使用Pool

    这篇文章主要给大家介绍了关于Go语言学习技巧之如何合理使用Pool的相关资料,Pool用于存储那些被分配了但是没有被使用,而未来可能会使用的值,以减小垃圾回收的压力。文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • 使用Lumberjack+zap进行日志切割归档操作

    使用Lumberjack+zap进行日志切割归档操作

    这篇文章主要介绍了使用Lumberjack+zap进行日志切割归档操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论