Go基础篇·开篇基础知识
写在前面
开篇讲解一些Go的基本常识,如有不当,敬请指正。
基础说明
在命令行中执行
go env
将获得go相关的环境变量:- GOROOT
go安装目录
- GOPATH
go的包路径,类比maven的本地仓库路径
- GOROOT
项目一般结构
--src
----project1
------module1
--------goFile1
--------goFile2
------module2
--------goFile4
--------goFile5
--------goFile6
------main.go
----project2
------module3
------module4
--------file7- go文件后缀名为
.go
,其中package
为main
的文件可以有main方法
,作为应用程序的入口,一般该文件叫做main.go
package main
func main(){
}
如何导入包
同样使用 import
关键字完成导包,import的包必须使用,否则会报错,多个包使用括号包裹即可:
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
}
注意:这里的格式必须传
2006-01-02 15:04:05
才能得到正确结果,据说是go被发明的时刻。
如何定义变量
在go中,我们使用关键字var
或者使用类型推断来定义一个或者多个变量:
var a int = 1 //普通声明方式
var b, c int = 3, 4 //定义多个变量
d, e := 5, 6 // 自动推断类型
f, g, h := false, 1, "string" //不同类型
如何定义常量
在go中,我们使用const
关键字来定义常量,不用声明常量的类型,多个常量可以使用括号包裹,同时还可以使用 itoa
来完成实现了数学运算的同一类的常量自增,itoa会从0开始自增:
const APP_NAME = "GO-DEMO"
const (
a = iota
b
c
)
const (
_ = iota
KB = 1 << (10 * iota)
MB
GB
TB
)
符号
_
表示忽略结果,go中经常使用。
如何定义方法
在go中,我们使用func
关键字定义一个方法,go的方法可以没有返回值,也可以有多个返回值,即:
func 方法名(参数1名称 参数1类型,参数2名称 参数1类型…)(返回值1类型,返回值2类型…)
参数或者返回值如果是同一类型,可简写,但返回值必须有列举参数名来表示有多少个:
func 方法名(参数1名称,参数2名称… 参数类型)(返回值1,返回值2…返回值类型)
举个栗子:
func f1(a int, b string) {
}
func f2(a int, b string) string {
return string(a) + b
}
func f3(a int, b string) (string, int) {
return b, a
}
func f5(a int, b int, c int) (d, e, f, g int) {
return a, b, c, a
}
func f4(a, b, c int) (int, int, int, int) {
return a, b, c, a
}