美文网首页
Go语言学习笔记1 2020-11-17

Go语言学习笔记1 2020-11-17

作者: Jaeyok | 来源:发表于2020-11-18 10:47 被阅读0次

两种传递方式

1.值传递
2.引用传递
值传递是值拷贝,引用传递是地址拷贝,地址拷贝效率高,值拷贝数据越大效率越低。

值类型和引用类型

1.值类型:基本数据类型Int, float, bool, string, 结构体struct。
2.引用类型:指针、Slice切片、map、管道channel、接口interface等

变量作用域

局部变量:仅限函数内部使用的变量

func test(){
   age:=10
   Name :="hello"
}

全局变量:函数外定义的,首字母大写在别的包也可以使用

var age int =50
var Name string = "leo" //其他包也可以使用
func test(){
   age:=10
   Name :="hello"
}

在代码块for/if, 变量作用率就只在该代码块。

for i:=0; i<=10;i++{
     fmt.Println(i) //外面无法使用i
}

Time相关函数

package main

//可变参数放在形参列表中最后
//init函数在Main之前执行

import (
    "fmt"
    "time"
)

func main()  {
    now :=time.Now()
    fmt.Println("年=%v", now.Year())
    fmt.Println("月=%v", int(now.Month()))
    fmt.Println("日=%v", now.Day())
    fmt.Println("时=%v", now.Hour())
    fmt.Println("分=%v", now.Minute())
    fmt.Println("秒=%v", now.Second())
    //格式化日期时间
    i:=0
    for {
        i++
        fmt.Println(i)
        time.Sleep(time.Millisecond*100)
        if i==100{
            break;
        }
    }

}

获取当前时间,求时间段

time.Now().Unix()

二、错误处理

使用defer+recover()函数来捕获错误,之后的代码可以被执行。

package main

//可变参数放在形参列表中最后
//init函数在Main之前执行
import (
    "fmt"

)
func test(){
    defer func(){
        if err:= recover(); err !=nil{
            fmt.Println("此函数程序发生出错")
        }
    }()
    num1 :=10
    num2:=0
    res :=num1/num2
    fmt.Println(res)

}
func main()  {
    test()
//defer panic, recover
    fmt.Println("以下代码将被继续执行")

}

相关文章

  • 笨办法学golang(三)

    这是Go语言学习笔记第三篇。 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 Go语言基本类型主要有布...

  • 笨办法学golang(二)

    这是Go语言学习笔记的第二篇文章。 Go语言学习笔记参考书籍「Go语言编程」、Go官方标准库 前文提要 上篇文章中...

  • 笨办法学golang(四)

    这是Go语言学习笔记的第四篇 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 数组 数组是指一系列同类...

  • Go语言学习笔记1 2020-11-17

    两种传递方式 1.值传递2.引用传递值传递是值拷贝,引用传递是地址拷贝,地址拷贝效率高,值拷贝数据越大效率越低。 ...

  • Go语言学习笔记,持续更新...

    Go 学习笔记 Go语言变量和常量 1. 标识符 2. 关键字 Go语言中有25个关键字 break ...

  • Go 语言极速入门

    本系列文章主要是记录《Go 语言实战》和《Google 资深工程师深度讲解 Go 语言》的学习笔记。 Go 语言极...

  • Golang相关电子书

    Golang相关电子书,会不定期更新 Go语言程序设计 Go语言学习笔记.雨痕(详细书签) Go语言·云动力(云计...

  • Go并发调度

    本文是《循序渐进Go语言》的第六篇-Go并发调度。本文是学习《Go语言学习笔记》的并发调度一章,然后结合阅读源码的...

  • Golang聚合

    教程 Go Web 编程Go语言圣经(中文版) Tips Golang 学习笔记——交叉编译 & 部署Golang...

  • Go语言学习笔记(1)

    自动添加分号 在很多其他的编程语言中,每一行代码的结尾都必须有分号(假设一行中只有一句代码),Golang 的开发...

网友评论

      本文标题:Go语言学习笔记1 2020-11-17

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