前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「一周汇总」直播编程视频合集(附代码),一篇入门Go语言

「一周汇总」直播编程视频合集(附代码),一篇入门Go语言

作者头像
程序员小助手
发布2022-08-22 15:45:59
2450
发布2022-08-22 15:45:59
举报
文章被收录于专栏:程序员小助手程序员小助手
代码语言:javascript
复制
package main

import "fmt"
import "time"

func main() {

    // 一个基本的 `switch`。
    i := 2
    fmt.Print("write ", i, " as ")
    switch i {
    case 1:
        fmt.Println("one")
    case 2:
        fmt.Println("two")
    case 3:
        fmt.Println("three")
    }

    // 在同一个 `case` 语句中,你可以使用逗号来分隔多个表达式。
    // 在这个例子中,我们还使用了可选的 `default` 分支。
    switch time.Now().Weekday() {
    case time.Saturday, time.Sunday:
        fmt.Println("It's the weekend")
    default:
        fmt.Println("It's a weekday")
    }

    // 不带表达式的 `switch` 是实现 if/else 逻辑的另一种方式。
    // 这里还展示了 `case` 表达式也可以不使用常量。
    t := time.Now()
    switch {
    case t.Hour() < 12:
        fmt.Println("It's before noon")
    default:
        fmt.Println("It's after noon")
    }

    // 类型开关 (`type switch`) 比较类型而非值。可以用来发现一个接口值的类型。
    // 在这个例子中,变量 `t` 在每个分支中会有相应的类型。
    whatAmI := func(i interface{}) {
        switch t := i.(type) {
        case bool:
            fmt.Println("I'm a bool")
        case int:
            fmt.Println("I'm an int")
        default:
            fmt.Printf("Don't know type %T\n", t)
        }
    }
    whatAmI(true)
    whatAmI(1)
    whatAmI("hey")
}

代码语言:javascript
复制
package main

import "fmt"

func main() {

    // 这里是一个基本的例子。
    if 7%2 == 0 {
        fmt.Println("7 is even")
    } else {
        fmt.Println("7 is odd")
    }

    // 你可以不要 `else` 只用 `if` 语句。
    if 8%4 == 0 {
        fmt.Println("8 is divisible by 4")
    }

    // 在条件语句之前可以有一个声明语句;在这里声明的变量
    // 可以在所有的条件分支中使用。
    if num := 9; num < 0 {
        fmt.Println(num, "is negative")
    } else if num < 10 {
        fmt.Println(num, "has 1 digit")
    } else {
        fmt.Println(num, "has multiple digits")
    }
}

代码语言:javascript
复制
package main

import "fmt"

func main() {

    // 最基础的方式,单个循环条件。
    i := 1
    for i <= 3 {
        fmt.Println(i)
        i = i + 1
    }

    // 经典的初始/条件/后续 `for` 循环。
    for j := 7; j <= 9; j++ {
        fmt.Println(j)
    }

    // 不带条件的 `for` 循环将一直重复执行,直到在循环体内使用
    // 了 `break` 或者 `return` 来跳出循环。
    for {
        fmt.Println("loop")
        break
    }

    // 你也可以使用 `continue` 来跳到下一个循环迭代
    for n := 0; n <= 5; n++ {
        if n%2 == 0 {
            continue
        }
        fmt.Println(n)
    }
}

代码语言:javascript
复制
package main

import "fmt"
import "math"

// `const` 用于声明一个常量。
const s string = "constant"

func main() {
    fmt.Println(s)

    // `const` 语句可以出现在任何 `var` 语句可以出现的地方
    const n = 500000000

    // 常数表达式可以执行任意精度的运算
    const d = 3e20 / n
    fmt.Println(d)

    // 数值型常量没有确定的类型,直到被给定,
    // 比如一次显式的类型转化。
    fmt.Println(int64(d))

    // 当上下文需要时,比如变量赋值或者函数调用,
    // 一个数可以被给定一个类型。举个例子,
    // 这里的 `math.Sin` 函数需要一个 `float64` 的参数。
    fmt.Println(math.Sin(n))
}

代码语言:javascript
复制
package main

import "fmt"

func main() {

    // `var` 声明 1 个或者多个变量。
    var a = "initial"
    fmt.Println(a)

    // 你可以一次性声明多个变量。
    var b, c int = 1, 2
    fmt.Println(b, c)

    // Go 将自动推断已经初始化的变量类型。
    var d = true
    fmt.Println(d)

    // 声明后却没有给出对应的初始值时,变量将会初始化为
    // _零值_ 。例如,一个 `int` 的零值是 `0`。
    var e int
    fmt.Println(e)

    // `:=` 语法是声明并初始化变量的简写,例如
    // 这个例子中的 `var f string = "short"`。
    f := "short"
    fmt.Println(f)
}

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档