美文网首页Go
Go语言学习笔记(三)-包、变量、函数

Go语言学习笔记(三)-包、变量、函数

作者: EvansChang | 来源:发表于2017-03-21 17:40 被阅读60次

每个Go程序都是由包组成的,且每个程序是从main包开始运行,看一段实例代码:

package main
import (
    "fmt"
    "math/cmplx"
)
func main(){
    x complex128 = cmplx.Sqrt(-5+12i)
    fmt.Println(x)
}

上述代码中通过导入路径”fmt”和”math/cmplx”来使用这两个包。Go约定包中源码的包名与引入路径的最后一个元素一致,例如”math/cmplx”这个包中的源码均是以package cmplx语句开始的。

导入

Go通过import来导入包,有两种导入形式:import packageName

import(
    "packageName1"
    "packageName2"
    ....
)

当然也支持通过多个import来导入多个包,但是Go官方更推荐通过分组导入的方式,也就是上述中的第二种导入方式。

导出名

在Go中,如果一个名字以大写字母开头,那么它就是已导出的,例如Sqrt以及Pi,这两个都是导出名,一个导出自math/cmplx包一个导出自math包。在导入包时,只能引用其中已导出的名字,所有”未导出”的名字只能在包内访问。

函数

在Go中,函数以func来定义,可以没有参数或多个参数,参数类型以空格隔开置于参数后方。与不同的是Go的参数如果存在两个或两个以上类型相同,则除了最后一个参数类型必须声明之外,其他几个参数可以忽略。另外,Go中函数可以返回多值且存在返回值时必须声明返回值类型,也可对返回值进行命名。已命名返回值会被视作定义在函数顶部的变量,当函数中存在不带参数的return语句时,则返回已命名的返回值,也就是’直接’返回。

变量

Go通过var来声明变量,变量类型与函数的参数类型一样置于变量后面,以空格隔开,多个连续变量类型相同时,可只写最后一个变量类型。实例如下:

package main
import "fmt"
var z,x int
func main(){
    var i,j int
    var t string
    var test = true
    k := "test"
    var m,n,s = false,1,"test"
}

从上述代码中我们可以看出Go的变量定义可以出现在函数级也可以出现在包级,且可以不声明类型,通过初始值来获取类型,Go中可以同时给多个变量赋值,也可通过:=来省略var关键字(仅限函数内,函数外所有变量都必须存在var关键字函数都必须存在func关键字)。

Go的基本类型以及零值

Go的基本类型很多,如下:

bool

strinh

int int8 int16 int32 int64

uint uint8 uint16 uint32 uint64

byte //int8别名

rune //int32别名

float32 float64

complex64 complex128

没有明确初始值的变量声明会被赋予它们的零值,数值类型的零值便为0,字符串则为空字符串,布尔类型的则为false。
在Go中支持显示转换变量类型,也就是强制转换。

常量

常量的定义与变量相似,不同的是常量使用const来定义且不能使用:=来声明

相关文章

  • Go语言学习笔记(三)-包、变量、函数

    包 每个Go程序都是由包组成的,且每个程序是从main包开始运行,看一段实例代码: 上述代码中通过导入路径”fmt...

  • Go语言学习笔记(二)-基础语法

    Go语言结构 Go语言的基础组成有一下几个部分: 包声明 包引入 函数 变量 语句&表达式 注释 关于Go的语言组...

  • go语言变量

    go 语言变量 分成两种: 包内变量(包内) 局部变量 (函数内) 变量定义标准格式: var [变量名] [类...

  • Go 学习笔记 基础语法 变量

    定义包内变量(Go语言里面没有全局变量) 函数内定义变量 定义常量 const 枚举类型

  • Go语言的主要特征

    Go语言的主要特征: Golang文件名: Go语言命名: 1.Go的函数、变量、常量、自定义类型、包(packa...

  • 三、Go的函数

    三、Go的函数 Go语言最少有一个main()函数。 1、Go的函数定义: 2、函数参数 函数如果使用参数,该变量...

  • Go语言里面的变量作用域问题

    变量的作用域,通常有包package范围、函数func范围、或者闭包closure范围, go语言毕竟比C语言复杂...

  • go语言学习

    Go 语言的基础组成有以下几个部分:包声明 引入包 函数 变量 语句 & 表达式 注释 当标识符(包括常量、变量、...

  • 笨办法学golang(三)

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

  • 四、Go语言变量作用域

    四、Go语言变量作用域 全局变量 在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使...

网友评论

    本文标题:Go语言学习笔记(三)-包、变量、函数

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