【GO语言基础】控制流

这篇具有很好参考价值的文章主要介绍了【GO语言基础】控制流。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

【Go语言学习】ide安装与配置
【GO语言基础】前言
【GO语言基础】变量常量
【GO语言基础】数据类型
【GO语言基础】控制流



条件语句

if-else 结构

//if结构
if condition {  
    // 执行代码块  
}

//if else结构
if condition {  
    // 执行代码块1  
} else {  
    // 执行代码块2  
}

if结构
if 语句:用于根据条件执行代码块

package main

import "fmt"

func main() {
	var a int = 7
	var b int = 6
	if a > b {
		fmt.Println("a较大")
	}
}

if else结构
else 语句:与 if 语句一起使用,当 if 的条件不满足时执行。

package main

import "fmt"

func main() {
	var a int = 7
	var b int = 6
	if a > b {
		fmt.Println("a较大")

	} else {
		fmt.Println("b较大")
	}

}

【GO语言基础】控制流,GO基础,golang,开发语言,后端

判断一个字符串是否为空:

1.if str == “”

str := "Hello, World!"
if str == "" {
    fmt.Println("字符串为空")
} else {
    fmt.Println("字符串不为空")
}

2.len(str)==0

str := "Hello, World!"
if len(str) == 0 {
    fmt.Println("字符串为空")
} else {
    fmt.Println("字符串不为空")
}

switch结构

switch 语句:用于根据表达式的值选择执行不同的代码块。
Go的switch语句与其他语言有些不同,不需要显式添加break语句,它会自动终止执行。

switch expression {  
    case value1:  
        // 执行代码块1  
    case value2:  
        // 执行代码块2  
    default:  
        // 执行默认代码块  
}
package main

import "fmt"

func main() {
	var a int = 58

	switch true {
	case a > 50:
		fmt.Println("a在50-100之间")
	case a > 100:
		fmt.Println("a的值大于100")
	}
}

【GO语言基础】控制流,GO基础,golang,开发语言,后端

循环结构

for 循环(C风格):

for 循环:用于重复执行一段代码块,通常用于迭代。
初始化、条件、后续操作。

结构:

for 初始化; 条件; 后续操作 {  
    // 执行循环体代码  
}

示例:

package main

import "fmt"

func main() {
	//打印1到10
	for i := 1; i <= 10; i++ {
		fmt.Println(i)
	}
}

for-range循环

for-range 循环:用于迭代数组、切片、字符串、映射等数据结构的元素。

package main

import "fmt"

func main() {
    // 创建一个整数切片
    numbers := []int{1, 2, 3, 4, 5}

    // 使用for range遍历切片,并打印每个元素的值
    for index, value := range numbers {
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }
}

【GO语言基础】控制流,GO基础,golang,开发语言,后端

控制语句

break 语句:用于跳出当前循环(for 或 switch)。
continue 语句:用于跳过当前循环迭代,进入下一次迭代。只能在 for 循环中使用。

package main

import (
	"fmt"
	"strconv"
)

func main() {
	for {
		fmt.Print("请输入整数: ")
		var inputStr string
		fmt.Scanln(&inputStr)

		// 尝试将输入的字符串转换为整数
		inputInt, err := strconv.Atoi(inputStr)
		if err != nil {
			fmt.Println("请输入正确的整数")
			continue // 输入不是有效整数,继续下一次循环
		}

		// 输出1到输入数据的序列
		for i := 1; i <= inputInt; i++ {
			fmt.Println(i)
		}
	}
}

package main

import "fmt"

//输出偶数
func main() {
	for i := 1; i <= 10; i++ {
		if i%2 == 0 {
			fmt.Println(i)
		} else {
			continue //跳出13579,输出偶数
		}
	}
}

【GO语言基础】控制流,GO基础,golang,开发语言,后端文章来源地址https://www.toymoban.com/news/detail-703553.html

使用注意

  1. 关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。
    错误写法
if x{
}
else {  // 无效的写法
}
  1. 返回某个值以及 true 表示成功;返回零值(或 nil)和 false 表示失败,在上面实例中我们使用nil判断是否为数字。
  2. 死循环时注意跳出。

到了这里,关于【GO语言基础】控制流的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 100天精通Golang(基础入门篇)——第12天:深入解析Go语言中的集合(Map)及常用函数应用

    🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批

    2024年02月12日
    浏览(50)
  • 【Go】Go语言开发0基础7天入门 - 笔记

    课程来源:【路飞学城】-黑金年卡VIP课程 课程名称:GO语言开发0基础7天入门 讲师:【 前汽车之家架构师 】Wusir-银角大王 官网:点击进入 集python简洁 + C语言性能 详情点击 编程语言 实战经验 源码 并发架构 新语言触类旁通 1.1 开篇介绍(必看) 1.2 环境搭建前戏 1.3 mac系统G

    2024年02月16日
    浏览(49)
  • 【Go 基础篇】Go语言包详解:模块化开发与代码复用

    在Go语言中, 包(Package) 是一种用于组织代码的机制,用于将相关的函数、类型和变量等组织在一起,以便于模块化开发和代码复用。包的使用能够使程序结构更加清晰、可维护性更高,同时也是Go语言强调的一项重要特性。本篇博客将深入探讨Go语言中包的相关知识,包括

    2024年02月11日
    浏览(47)
  • go语言从0基础到安全项目开发实战

    搭建环境比较简单 到以下链接下 Go下载 - Go语言中文网 - Golang中文社区 下载windows版本64位zip包 https://studygolang.com/dl/golang/go1.20.7.windows-amd64.zip 不配置的话就只能在bin目录下才能运行go命令 创建test.go文件 然后代码如下 编译运行  两种方式编译运行代码 1.先 go build test.go编译成

    2024年02月13日
    浏览(47)
  • Go语言 -- Web开发基础学习 net/http包

    Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go语言最擅长的领域就是Web开发,此贴是本人入门完go语法基础后学习Web开发的学习笔记。 新建go文件hello_world.go 写入: 在命令行运行: go run ./hello_world.go 可以发现控制台输出以下信息 通过上述代码

    2024年02月06日
    浏览(51)
  • Go语言入门记录:从基础到变量、函数、控制语句、包引用、interface、panic、go协程、Channel、sync下的waitGroup和Once等

    程序入口文件的包名必须是main,但主程序文件所在文件夹名称不必须是 main ,即我们下图 hello_world.go 在 main 中,所以感觉 package main 写顺理成章,但是如果我们把 main 目录名称改成随便的名字如 filename 也是可以运行的,所以迷思就在于写在文件开头的那个 package main 和 java

    2024年02月11日
    浏览(36)
  • 【go语言基础】go中的方法

    先思考一个问题,什么是方法,什么是函数? 方法是从属于某个结构体或者非结构体的。在func这个和方法名中间加了一个特殊的接收器类型,这个接收器可以是结构体类型的或者是非结构体类型的。从属的结构体获取该方法。 函数则没有这种从属关系。 小结: 大多

    2024年02月13日
    浏览(33)
  • Go语言基础(一)

    本文档参考golang官方文档以及一些教程书籍,若文档有错误,欢迎issue 🤗 https://go.dev/doc/tutorial/ 参考书籍《Go语言开发实战》 Go语言是Google公司发布的一种静态型、编译型的开源编程语言,是新时代的 C语言 。Go语言已经成为 云计算时代 的重要基础编程语言。 2012年3月28日,

    2024年02月06日
    浏览(40)
  • go语言基础---8

    go语言标准库内建提供了net/http包,涵盖了HTTP客户端和服务端的具体实现。使用net/http包,我们可以很方便地编写HTTP客户端或服务端的程序。 ListenAndServe监听TCP地址addr,并且会使用handler参数调用Serve函数处理接收到的连接。handler参数一般会设为nil,此时会使用DefaultServeMux。

    2024年02月09日
    浏览(36)
  • Go语言基础

    参考书籍《Go程序设计语言》 学习Go语言基础,并记录相关知识和代码。 创建helloworld.go 输出命令行参数 使用range简化 使用Join简化 版本二,文件与命令行 go 可以方便的创建服务器,并且有并发性。 Go并发获取多个URL 简单服务器 带有并发锁的计数服务器 显示相关协议与表单

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包