Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Golang 可以把包名去掉吗?

Golang 可以把包名去掉吗?

Guanhui
Guanhuiasal
2020-06-17 09:34:503322semak imbas

Golang 可以把包名去掉吗?

Golang 可以把包名去掉吗?

Golang不可以把包名去掉,包名是一种类似命名空间的管理和组织代码的方式,而Golang的包有两种类型,一种是“main”包,该包的可以有唯一的一个“main”函数,这个函数也是程序的入口,另外一种就是非“main”包。

简单的例子

➜  golang echo $GOPATH
/Users/master/golang
➜  golang pwd
/Users/master/golang
➜  golang tree
.
├── bin
├── pkg
└── src
    └── demo
        └── main.go

4 directories, 1 file

➜  demo cat main.go
package main

import (
    "fmt"
)

func main() {
    fmt.Println("hello world")
}

➜  demo go run main.go
hello world


从上面的目录结构可以看出,GOPATH为 /Users/master/golang 。在 src 内创建了一个项目 demo。demo 里有一个 main.go 文件。main.go 的第一行声明了这是一个 main 包,因此可以定义一个 main 函数。使用 go run 可以编译并运行 main.go。

自定义包(package )

go 使用 package 来管理源文件。package 必须在一个文件夹内,且一个文件夹内也只能有一个package,但是一个文件夹可以有多个文件。下面自定义一个 package。

➜  demo tree
.
├── main.go
└── service
    └── http.go
1 directory, 2 files
➜  demo cat service/http.go
package api
import "fmt"
func HandleReq(){
    fmt.Println("api - http.go Handle Request")
}
➜  demo cat main.go
package main
import (
    "fmt"
    "./service"
)
func main() {
    fmt.Println("hello world")
    api.HandleReq()
}

推荐教程:《Go教程

Atas ialah kandungan terperinci Golang 可以把包名去掉吗?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:分享十个优秀的 Go 类库Artikel seterusnya:go语言值传递介绍