Go程序必须有且仅有一个package main中的func main(),它是执行入口;变量声明需严格遵循:=(函数内)和var(包级或显式类型)规则;错误处理必须显式检查err != nil;切片是主力,其零值nil安全但行为不同于指针。
main 函数必须存在,且只能在 package main 中;没它,Go 程序根本跑不起来——这是你写第一行代码前就得确认的铁律。
从 go run 开始:别跳过最简可执行单元
新手常卡在“写了代码却报错”,90% 是因为包声明或函数结构不对。不是语法难,是 Go 对程序骨架有硬性要求:
-
package main必须是文件首行,不能拼错、不能缺 -
import必须显式列出所有用到的包,哪怕只用了一个fmt.Println -
func main()必须小写main,且不能带参数、不能有返回值
实操建议:先敲这个,保存为 hello.go,然后终端执行 go run hello.go —— 成功输出才是后续一切的前提:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
别急着加逻辑。如果这三行都通不过,后面学切片、goroutine 都是空中楼阁。
:= 和 var 怎么选?变量声明的隐性规则
Go 不允许声明但不使用的变量(编译直接报错),所以初学者容易因“多写一行 var x int 却没用它”而卡住。这不是 bug,是设计约束: