golang 小知识

Go语言将*_test.go作为测试文件,编译时不包含。同文件夹内所有文件属于同一package。struct无默认值,全局变量初始化一次。main函数在packagemain中且为程序入口。init函数在包导入时运行。旧版项目需在GOPATH/src,新版支持gomod,但需处理import路径。使用gowork指令管理项目更便捷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. golang 会默认将*_test.go 作为测试文件,go build 时不会包含其中,所以轻易不要起这样的名字。

  1. 同一个文件夹里的文件都必须属于同一个package, 也就是说一个文件夹只能有一个package,文件夹名字,package 名字可以不一致。

  1. golang struct 不能设置默认值。

  1. golang 每个package中全局变量都只会被初始化一次。

  1. main()函数是可运行程序入口,必须存在于package main 里。

  1. init() 是golang的特殊函数,会在导入包时运行,顺序在main()之前。

  1. 在golang 旧版本前,每个新建的项目必须放在GOPATH/src 下,而新版本启用 go mod 后,则可以把项目放在任何一个位置,但是这个小知识可以知道一下,以免看到golang相关旧文章会迷惑。

  1. 本地项目新建了一个文件夹(也就是package),想直接引用文件夹内的go文件,是不可能的,还需要一定的处理,因为golang默认直接去GOPATH下找被import的包,但显然是找不到的。但是学会使用"go work"指令会方便很多,通常在项目根目录使用该指令。(实在忍不住吐槽,明明只是新建个文件夹,还必须做一堆处理才能使用,相比其他语言来说,实在是很不方便)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值