golang学习笔记(二)变量、常量声明和赋值

2022-11-08  本文已影响0人  NIIIICO
1、文档

Golang标准库文档

2、注意

(1)go以包作为管理单位
(2)每个文件必须声明包
(3)程序必须有一个main包
(4)语句结尾没有 ";"

// 1、go以包作为管理单位
// 2、每个文件必须声明包
// 3、程序必须有一个main包
package main

import "fmt"

// func main() // "{" 必须和函数名同行,这种的写法是有问题的
// {
//   fmt.Println("hello world!!!")
// }
func main() {
    // 语句结尾没有 ";"
    fmt.Println("hello world!!!")
}
3、编译、运行

go build xxx.go // 编译为可执行文件
go run xxx.go // 不生成可执行文件,直接运行

4、变量声明、赋值

(1)包声明了,必须使用
(2)变量声明了,必须使用,变量支持自动推导

package main

import "fmt"

// 包声明了,必须使用
// 变量声明了,必须使用 变量支持自动推导
func main() {
    var a int // 声明
    a = 10    // 赋值

    var b int = 20 // 声明并赋值
    var c = 30     // 类型推导
    d := 40        // 类型推导
    e, f := 50, 60 // 多重赋值
    var (          // 多个声明
        g = 70
        h = 80
    )

    fmt.Printf("a:%T, b:%T, c:%T, d:%T, e:%T, f:%T, g:%T, h:%T \n", a, b, c, d, e, f, g, h)
    fmt.Printf("a:%d, b:%d, c:%d, d:%d, e:%d, f:%d, g:%d, h:%d \n", a, b, c, d, e, f, g, h)

    e, f = f, e // 交换e,f的值
    fmt.Printf("e:%d, f:%d \n", e, f)

    _, i, _ := test() // 匿名变量,如返回结果只需要使用第二个值
    fmt.Printf("i:%d \n", i)
}

func test() (a, b, c int) {
    return 1, 2, 3
}
5、常量

自动推导不能写 ":"

package main

import "fmt"

func main() {
    const a int = 1
    const b = 2 //自动推导不能写 :
    const (
        c = 3
        d = 4
    )

    fmt.Printf("a:%T, b:%T, c:%T, d:%T\n", a, b, c, d)
    fmt.Printf("a:%d, b:%d, c:%d, d:%d\n", a, b, c, d)
}
上一篇下一篇

猜你喜欢

热点阅读