Rumah  >  Artikel  >  pembangunan bahagian belakang  >  go语言中while是关键字吗

go语言中while是关键字吗

青灯夜游
青灯夜游asal
2021-06-04 17:01:344046semak imbas

在go语言中,while不是关键字,可以用for语句加break来实现while循环的效果,例“for {sum++ if sum>10{break}else{...}}”。go语言有break、default 、func、select、case、defer、go、map、else、goto、for、if、var等25个关键字。

go语言中while是关键字吗

本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

golang 里面没有while关键字,可以用for+break实现

与多数语言不同的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构,关键字 for 的基本使用方法与C语言和 C++ 中非常接近:

sum := 0
for i := 0; i < 10; i++ {
sum += i
}

可以看到比较大的一个不同在于 for 后面的条件表达式不需要用圆括号()括起来,Go语言还进一步考虑到无限循环的场景,让开发者不用写无聊的 for(;;){}do{} while(1);,而直接简化为如下的写法:

package main

import "fmt"

func main() {
    sum := 0
    for {
        sum ++
        if sum > 10{
            break
        }else{
            fmt.Println(sum)
        }
    }
}

go语言中的关键字

关键字(也称为保留字)是被编程语言保留而不让编程人员作为标识符使用的字符序列。

关键字即是被Go语言赋予了特殊含义的单词,也可以称为保留字。

Go语言中的关键字一共有 25 个,之所以刻意地将Go语言中的关键字保持的这么少,是为了简化在编译过程中的代码解析。和其它语言一样,关键字不能够作标识符使用。

保留关键字 说明
break 退出循环
default 选择结构默认项(switch、select)
func 定义函数
interface 定义接口
select channel
case 选择结构标签
chan 定义 channel
const 常量
continue 跳过本次循环
defer 延迟执行内容(收尾工作)
go 并发执行
map map 类型
struct 定义结构体
else 选择结构
goto 跳转语句
package
switch 选择结构
fallthrough 流程控制
if 选择结构
range 从 slice、map 等结构中取元素
type 定义类型
for 循环
import 导入包
return 返回
var 定义变量

Go的25个关键字按照作用可以分为3类,分别为包管理、程序实体声明与定义与程序流程控制。

类别 关键字
程序声明 import, package
程序实体声明和定义 chan, const, func, interface, map, struct, type, var
程序控制流程 go, select, break, case, continue, default, defer, else, fallthrough, for, goto, if, range, return, switch

说明:

在Go语言中,程序实体的声明和定义是建立在其数据类型的体系之上的。例如关键字chan、func、interface、map和struct,分别于Go语言的复合数据类型Channel(通道)、Function(函数)、Interface(接口)、Map(字典)和Struct(结构体)相对应。

程序控制流程的关键字,一共15个。其中go和select,这两个主要用于Go语言并发编程。

推荐学习:Golang教程

Atas ialah kandungan terperinci go语言中while是关键字吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn