美文网首页
第02天(函数、工程管理)_04

第02天(函数、工程管理)_04

作者: lucas777 | 来源:发表于2019-12-04 20:05 被阅读0次

18_defer和匿名函数结合使用.go

package main //必须

import "fmt"

func main() {
    a := 10
    b := 20

    //  defer func(a, b int) {
    //      fmt.Printf("a = %d, b = %d\n", a, b)
    //  }(a, b) //()代表调用此匿名函数, 把参数传递过去,已经先传递参数,只是没有调用

    defer func(a, b int) {
        fmt.Printf("a = %d, b = %d\n", a, b)
    }(10, 20) //()代表调用此匿名函数, 把参数传递过去,已经先传递参数,只是没有调用

    a = 111
    b = 222
    fmt.Printf("外部:a = %d, b = %d\n", a, b)
}

func main01() {
    a := 10
    b := 20

    defer func() {
        fmt.Printf("a = %d, b = %d\n", a, b)
    }() //()代表调用此匿名函数

    a = 111
    b = 222
    fmt.Printf("外部:a = %d, b = %d\n", a, b)
}

19_获取命令行参数.go

package main //必须

import "fmt"
import "os"

func main() {
    //接收用户传递的参数,都是以字符串方式传递
    list := os.Args

    n := len(list)
    fmt.Println("n = ", n)

    //xxx.exe a b
    for i := 0; i < n; i++ {
        fmt.Printf("list[%d] = %s\n", i, list[i])
    }

    for i, data := range list {
        fmt.Printf("list[%d] = %s\n", i, data)
    }
}

20_局部变量.go

package main //必须
import "fmt"
func test() {
    a := 10
    fmt.Println("a = ", a)
}
func main() {
    //定义在{}里面的变量就是局部变量,只能在{}里面有效
    //执行到定义变量那句话,才开始分配空间,离开作用域自动释放
    //作用域,变量其作用的范围
    //a = 111
    {
        i := 10
        fmt.Println("i = ", i)
    }
    //i = 111
    if flag := 3; flag == 3 {
        fmt.Println("flag = ", flag)
    }
    flag = 4
}

21_全局变量.go

package main //必须
import "fmt"
func test() {
    fmt.Println("test a = ", a)
}
//定义在函数外部的变量是全局变量
//全局变量在任何地方都能使用
var a int
func main() {
    a = 10
    fmt.Println("a = ", a)
    test()
}

22_不同作用域同名变量.go

package main //必须
import "fmt"
var a byte //全局变量
func main() {
    var a int //局部变量
    //1、不同作用域,允许定义同名变量
    //2、使用变量的原则,就近原则
    fmt.Printf("%T\n", a) //int
    {
        var a float32
        fmt.Printf("2: %T\n", a) //float32
    }
    test()
}
func test() {
    fmt.Printf("3: %T\n", a) //uint8, 就是byte
}

23_导入包.go

package main //必须

//忽略此包
import _ "fmt"

func main() {

}

/*
//给包名起别名
import io "fmt"

func main() {
    io.Println("this is a test")
}
*/

/*
//.操作
import . "fmt" //调用函数,无需通过包名
import . "os"

func main() {
    Println("this is a test")
    Println("os.Args = ", Args)
}
*/

/*
//方式1
//import "fmt" //导入包,必须使用,否则编译不过
//import "os"

//方法2,常用
import (
    "fmt"
    "os"
)

func main() {
    fmt.Println("this is a test")
    fmt.Println("os.Args = ", os.Args)
}
*/

相关文章

  • 第02天(函数、工程管理)_知识点图片

    01_普通函数调用流程 02_递归函数的调用流程 03_递归实现累加 04_工程管理 05_工程管理

  • 第02天(函数、工程管理)_04

    18_defer和匿名函数结合使用.go 19_获取命令行参数.go 20_局部变量.go 21_全局变量.go ...

  • 第02天(函数、工程管理)_工程管理总结

    src: 放源代码 如果有多个文件或多个包 配置GOPATH环境变量, 配置src同级目录的绝对路径如:C:\Us...

  • 第02天(函数、工程管理)_02

    06_多个返回值.go 07_有参有返回值.go 08_普通函数的调用流程.go 09_函数递归调用的流程.go ...

  • 第02天(函数、工程管理)_03

    11_函数类型.go 12_回调函数.go 13_匿名函数和闭包.go 14_闭包捕获外部变量的特点.go 15_...

  • 第02天(函数、工程管理)_05

    main.go test.go 以上两个文件必须要在同一个目录下才能调用非公开方法 calc.go main.go...

  • 第02天(函数、工程管理)_01

    01_无参无返回值函数的使用.go 02_普通参数列表.go 03_不定参数类型.go 04_不定参数传递.go ...

  • Day9

    Day9 01.模块管理函数和类 02.基本文件操作 03.json 文件 04.异常捕获 01.模块管理函数和类...

  • 2019-12-05

    2019-12-04 姓名:何秋兵《六项精进》打卡 ,12月04日 公司:扬州市方圆建筑工程有限公司 第349期 ...

  • 2020-01-04

    2020-01-04 姓名:何秋兵《六项精进》打卡 ,01月04日 公司:扬州市方圆建筑工程有限公司 第349期 ...

网友评论

      本文标题:第02天(函数、工程管理)_04

      本文链接:https://www.haomeiwen.com/subject/aqzlgctx.html