go包变量和函数

GO语言学习-(包,变量,函数)

每个go程序都有包构成。
程序从main包开始运行。
按照约定:包名与导入路径的最后一个元素一只。

导入

1
2
3
4
5
6
7
8
//分组导入(更好)
import(
"fmt"
"math"
)
//多条导入
import fmt
import math

导出

如果一个名字以大写字母开头,那么它就是已导出的。

函数

函数可以没有参数,或者多个参数,注意参数类型在参数名之后。小括号后面的类型是返回值类型

1
2
3
func test(x int,y int)int{

}

当连续两个或以上参数类型相同时,除连续相同的最后一个参数,其他参数的类型都可以省略,返回值命名类型也一样

1
2
3
func test(x,y int)int{

}

注意:函数可以返回多个值

1
2
3
func test(x ,y int)(int,int){
return x,y
}

注意:函数的返回值可被命名

1
2
3
4
5
func test(sum)(x int ,y int){
x = sum -1
y = sum -x
return
}

变量

1
2
3
4
5
6
var  x int
var y string
var z bool
var a,b,c bool
var a,b,c int = 1,2,3
var a int = 1

声明变量语法块用法:

1
2
3
4
var (
a int = 1
b,c int = 3,4
)

在函数中,可以使用短变量申明:

1
2
3
4
5
6
7
func test(x ,y int)int{
c := x+y
return c
}
func main(){
test :=1
}

没有明确初始值的变量声明会被赋予它们的零值
数值型 - 0
布尔类型 - false
字符串为 - “”(空字符串)

基本类型

  1. bool
  2. string
  3. int int8 int16 int32 int64
  4. uint uint8 uint16 uint32 uint64
  5. float32 float64
  6. complex64 complex128

类型转换

T(v)
int(12.0)
float64(1212)

类型推导

当指定一个变量而未指定变量类型时,变量的类型由右值推导而出。

1
2
3
4
5
var a = 1 // a 为int
func main(){
b := "12112" // b为string
c := 1.002 // float64
}

常量

const 关键字定义常量
常量可以是字符,字符串,数值,布尔值

1
const Pi float64 = 3.1415

一个未指定类型的常量由上下文来决定其类型