Golang基础(一)
@([07] golang)
包
程序的入口是main包
包名和导入路径的最后一个目录一致
包的导入
通过import "包名"
的方式可以导入单个包,
导入多个包可以通过多次导入单个包或者import ("包名1" "包名2")
的方式导入多个包。
包的导出名
在Go中,首字母大写的名称是被导出的。
Foo 和 FOO都会被导出,但foo不会被导出。
函数
函数可以有零个或多个参数
当两个或多个连续的函数名参数是同一类型,除最后一个类型外,其他可省略。
x int, y int
可简写为 x,y int
go函数可以返回任意数量的返回值
可以对返回值进行命名,当使用没有参数的return语句时返回结果的当前值。
变量
变量名规范
由数字、字母、下划线组成,首字符只能是字母或下划线。(和C一致)
键字var
golang中声明变量一般使用var关键字
var 变量名 变量类型
变量声明
- 指定变量类型,但不赋值,使用默认值。
var num int num = 0
- 不指定变量类型,根据变量的值自行判断类型
var num = 0
- 省略var
注意:num := 0
:=
左侧的变量必须是未声明过的变量
变量可以在三个地方声明:
- 函数内定义的变量称为局部变量。
- 函数外定义的变量称为全局变量。
- 函数定义中的变量称为形式参数。
变量的作用范围:
- 局部变量只能作用在函数体内,参数和返回值变量也属于局部变量。
- 全部变量可以在整个包甚至外部包(导出后)使用。
全局变量和局部变量名称可以相同,但在函数内的局部变量会被优先考虑。
不同类型的变量的零值(默认值)
类型 | 默认值 |
---|---|
int | 0 |
float32 | 0 |
bool | false |
指针 | nil |
多变量声明
// 第一种方式
var num1,num2,num3 int
num1,num2,num3 = 1,2,3
// 第二种方式
var num1, num2, num3 = 1,2,3
// 第三种凡是
num1,num2,num3 := 1,2,3
对于类型不同的多个变量,全局变量,局部变量不能使用这种(:=
)方式
声明的局部变量不允许不使用;全局变量是允许声明但不使用。
空白字符 _
_ 用于接收不需要的返回值,比如:a,b = Fun()
函数返回两个值,但a不被使用,为了避免报错,这时可以使用_,b = Fun()
或者_a,b = Fun()
来接收返回值,这样第一个返回值就会被忽略。
这里有个函数多个返回值的问题。
变量的基本类型
bool
string
int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr
byte
//uint8 的别名
rune
// int32 的别名 代表一个Unicode码
float32 float64
complex64 complex128
变量的类型转换
T(v) 将v转换为类型T
go的不同类型之间的项目赋值需要显式转换。
常量
通过 const
关键字定义一个常量
常量的定义不能使用:=
网友评论