说明:
1.保存源代码的文件形式
- C语言的源代码保存在.c文件中
- Go语言的源代码保存在.go文件中
2.代码的管理方式不同
- C语言通过文件来管理代码, 会将不同的功能(模块)的代码, 放到不同的文件中, 然后声明.h, 然后include导入.h文件使用对应的代码
- Go语言通过包来管理代码, 会将不同功能(模块)的代码, 放到不同的包中, 然后通过import导入包来使用对应的代码
3.什么是包
- 通俗点来讲,就是装各种工具的工具箱.
- go语言中,一个文件夹就是一个包,只需要将不同类型的.go文件放到不同的文件夹里,然后通过pakage声明包名,在main.go中通过import导入就可以调用包中的函数
注意点:
- go语言规定,包名必须与.go对应的文件夹保持一致
- 包名不能重复定义,否则编译不能通过
Go语言标准的项目格式
项目文件夹(GOPATH对应的文件夹)
-------|---------src文件夹(用于存储.go文件的文件夹)
----------------------|---------main文件夹(存放package main对应文件的文件夹)
----------------------|---------other文件夹(存放package 其它对应文件的文件夹)
-------|---------bin文件夹(用于存放可执行程序的文件夹)
-------|---------pkg文件夹(用于存放二进制文件的文件夹)
函数的调用格式不同
- C语言只要include之后, 就可以直接通过函数名称调用了
- Go语言通过import之后, 还需通过报名.函数名称的方式来调用
语句的结束方式不同
- C语言每条语句后面都必须添加分号
- Go语言每条语句后面不用添加分号, 但是如果两条语句在同一行, 就必须添加分号
对代码的严格程度不同
- C语言中include了一个.h文件, 哪怕没有使用也不会报错
- Go语言中import了一个包, 如果没有使用, 就会报错
- C语言中定义变量没有使用不会报错
- Go语言中定义变量没有使用就会报错
- C语言中函数的{可以和函数名称在同一行, 也可以不再同一行
- Go语言中函数的{必须和函数名称在同一行, 否则会报错