一个简单Go程序的基本介绍

Go 程序的一般结构: basic_structure.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 当前程序的包名
package main

// 导入其他包
import . "fmt"

// 常量定义
const PI = 3.14

// 全局变量的声明和赋值
var name = "gopher"

// 一般类型声明
type newType int

// 结构的声明
type gopher struct{}

// 接口的声明
type golang interface{}

// 由main函数作为程序入口点启动
func main() {
Println("Hello World!")
}

Go 程序是通过 package 来组织的。
只有 package 名称为 main 的源码文件可以包含 main 函数。
一个可执行程序有且仅有一个 main 包。
通过 import 关键字来导入其他非 main 包。
可以通过 import 关键字单个导入:

1
2
import "fmt"
import "io"

也可以同时导入多个:

1
2
3
4
import (
"fmt"
"math"
)

例如:

1
2
3
4
5
6
7
8
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Exp2(10)) // 1024
}

使用<PackageName>.<FunctionName>调用:

1
2
3
package 别名:
// 为fmt起别名为fmt2
import fmt2 "fmt"

省略调用(不建议使用):

1
2
// 调用的时候只需要Println(),而不需要fmt.Println()
import . "fmt"

前面加个点表示省略调用,那么调用该模块里面的函数,可以不用写模块名称了:

1
2
3
4
import . "fmt"
func main (){
Println("hello,world")
}

通过 const 关键字来进行常量的定义。
通过在函数体外部使用 var 关键字来进行全局变量的声明和赋值。
通过type关键字来进行结构(struct)和接口(interface)的声明。
通过func关键字来进行函数的声明。

可见性规则:
Go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包所调用。

  • 函数名首字母小写即为 private :
    func getId() {}
  • 函数名首字母大写即为 public :
    func Printf() {}

关于包
根据本地测试得出以下几点:

  • 文件名与包名没有直接关系,不一定要将文件名与包名定成同一个。
  • 文件夹名与包名没有直接关系,并非需要一致。
  • 同一个文件夹下的文件只能有一个包名,否则编译报错。

更多关于包的内容可见:CSDN博客Go语言之包

文章作者: GeYu
文章链接: https://nuistgy.github.io/2023/12/22/golangBase1/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yu's Blog