go基础结构介绍,包含源文件命名,标识符命名,包介绍及命名,导入其他包,注释,方法,类型等
- 文件及命名:go语言源文件由.go结尾,并且都是小写,文件名中包含多个部分可以用_分隔,不能包含空格和其他特殊字符
- 标识符命名:可以使用任何UTF-8的字符或者_开头,不能用数字开头,不能使用关键字,保留字和运算符
- **包:**包是go结构化代码的一种方式,每个go代码都属于一个包,通过第一行不是注释package 包名,来声明这个程序属于哪个包,包名使用小写,如果修改了包内内容,引用该包的程序需要重新编译后才会更新
- 标准库:go官方提供的可以直接使用的包,一般放在$GOROOT/pkg/$GOOS_$GOARCH/下
- 导入:go程序通过import关键字来引入其他包,示例代码:
//一般都使用这个
import (
"fmt"
"os"
)
//其他方式
//方式一
import "fmt"
import "os"
//方式二
import "fmt"; import "os"
//方式三
import ("fmt"; "os")
- 导入的包可以使用别名,可以解决包名重复的问题
package main
import (
fm "fmt"//在引入的包前面使用别名
)
func main(){
fm.Println("别名")
}
- 标识符的可见性规则:首字母(Unicode 编码的字符)大写的标识符,可以被引用此包的程序调用,首字母小写只能在本包中使用
- 函数:命名需要使用大驼峰或者小驼峰,主要看是否需要外部使用,示例代码:
func firstFun(){// “{” 左大括号必须声明在一行,因为go在编译的时候会在行尾添加“,”,会造成错误
}
- 注释://开头为单行注释 /* */为多行注释,多行注释不能嵌套,注释不会被编译,但是godoc工具会收集项目中的注释并生成技术文档
//这是我的包
package main
import "fmt" // 这里引入fmt包
//main 是项目的启动入口,函数的注释要以函数为开头
func main() {
fmt.Printf("hello word")
}
- 类型:
- MetHod
- Bool
- String
- Int
- Array
- Slice
- Struct
- Map
- Channel
- Pointer
- Funtion
- Interface
- go程序启动顺序:
- import的包中的常量,变量,类型定义
- init函数(如果有)
- mian包常量,变量,类型定义
- init函数(如果有)
- main函数
- 类型转换:go中的类型需要显式转换,并且只有底层一样类型的数据才可以转换成功
如有遗漏欢迎批评指正