设为首页 加入收藏

TOP

Go语句与表达式深度解析:全案例手册(一)
2023-09-23 15:43:57 】 浏览:166
Tags:解析 全案例

关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

语句

语句是Go编程语言中完成特定操作的单个逻辑指令。语句是组成程序的基本单元,它们可以控制程序流程、进行赋值、声明变量等。

1. 声明语句

1.1 变量声明

用于定义一个或多个变量,但不一定要赋值。

举例

var age int
var name, address string

1.2 常量声明

定义一个或多个常量值。

举例

const PI = 3.14
const greeting = "Hello, Go!"

2. 赋值语句

用于给已声明的变量分配新的值。

举例

x := 10
y = x + 5
a, b := 20, 30

3. 控制流语句

3.1 条件语句

if语句

基于某个条件来执行代码块。

举例

if x > y {
    fmt.Println("x is greater than y")
} else if x < y {
    fmt.Println("x is less than y")
} else {
    fmt.Println("x is equal to y")
}

switch语句

基于一个表达式或值来执行多个代码块中的一个。

举例

switch grade {
case "A":
    fmt.Println("Excellent!")
case "B":
    fmt.Println("Good")
default:
    fmt.Println("Passed")
}

3.2 循环语句

for语句

用于重复执行某段代码。

举例

for i := 0; i < 10; i++ {
    fmt.Println(i)
}

for _, value := range array {
    fmt.Println(value)
}

3.3 跳转语句

break语句

用于中断当前循环。

举例

for i := 0; i < 10; i++ {
    if i == 5 {
        break
    }
    fmt.Println(i)
}

continue语句

跳过当前迭代,并继续下一个迭代。

举例

for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue
    }
    fmt.Println(i)
}

return语句

从函数中返回特定值。

举例

func add(a int, b int) int {
    return a + b
}

goto语句

跳转到指定的标签。

举例

for i := 0; i < 10; i++ {
    if i == 5 {
        goto end
    }
    fmt.Println(i)
end:
}

4. 其他语句

4.1 defer语句

确保在函数结束前执行某个语句。

举例

func printFile() {
    file, err := os.Open("file.txt")
    if err != nil {
        panic(err)
    }
    defer file.Close()
    
    // Do file operations...
}

4.2 go语句

在新的goroutine中执行函数调用。

举例

go func() {
    fmt.Println("Executing in a new goroutine")
}()

实战案例

语句 语句样例
变量声明 var age intvar name, address stringvar x, y int = 3, 4var active boolvar salary = 50000
常量声明 const PI = 3.14const greeting = "Hello, Go!"const active = falseconst daysInWeek = 7const lightSpeed = 299792458
赋值语句 x := 10y = x + 5a, b := 20, 30name = "Alice"isActive := true
if语句 if x > 10 { ... }if x > 10 && y < 5 { ... }if active { ... }if name := getName(); name != "" { ... }if age > 18 { ... } else { ... }
switch语句 switch x { ... }switch { case x > 10: ... }switch day { case "Monday": ... }switch n := 4; n { ... }switch y.(type) { ... }
for语句 for i := 0; i < 5; i++ { ... }for i, v := range arr { ... }for x > 5 { ... }for key, val := range mapData { ... }for _, char := range str { ... }
break语句 for { if condition { break } }switch { case x: if y { break } }for x > 10 { ...; break; ... }label: for { ...; break label; ... }for i := 0; i < 10; i++ { if i == 5 { break } }
continue语句 for i := 0; i < 10; i++ { if i%2 == 0 { continue } }for _, v := range data { if v == nil { continue } }for x > 0 { ...; if condition { continue } ... }for { if !isValid(data) { continue } ... }for idx, value := range items { if value == "" { continue } }
return语句 func add(a, b int) int { return a + b }func name() string { return "Alice" }func getDetails() (string, int) { return "Alice", 30 }func isActive() bool { ...; return false }func calculate() float64 { ...; return result }
goto语句 label1: for { ...; if x > 5 { goto label1 } }label2: fmt.Println("Start"); ...; goto label2if condition { goto errorHandling } ... errorHandling: ...if !isValid { goto cleanup } ... cleanup: ...
defer语句 file, _ := os.Open("file.txt"); defer file.Close()mutex.Lock(); defer m
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Go代码包与引入:如何有效组织您.. 下一篇Go学习笔记5

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目