Golang 可以把包名去掉吗?


本文摘自php中文网,作者Guanhui,侵删。

Golang 可以把包名去掉吗?

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

简单的例子

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

26

27

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。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

?  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教程》

以上就是Golang 可以把包名去掉吗?的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

手撸golang 基本数据结构与算法 归并排序

这一次,彻底搞懂 go cond

golang 可以开发 web 吗?

常见的 go 处理字符串的技巧

一篇文章带你入门go语言基础之并发

聊一聊golang的协程

带你用go轻松完成一个saga分布式事务

聊聊dapr的consistent hash

golang官方嵌入文件到可执行程序

gorm 如果使用同一个sql.db 去开协程。为什么速度会比单线程跑快很多

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...