Go 语言入门详细知识,主要和大家分享 Go 语言组成、Go 语言函数格式、C 语言对 Go 语言的几点对比。
Go语言程序组成
-
和C语言程序一样,Go语言程序也是由众多函数组成的
-
和C语言程序一样,程序运行时系统会*自动调用名称叫做main的函数
-
和C语言程序一样,如果一个程序没有主函数,则这个程序不具备运行能力
-
和C语言程序一样,一个Go语言程序有且只能有一个主函数
Go语言程序主函数定义格式
-
C语言main函数格式
int main(int argc, const char * argv[]) {
return 0;
}
-
Go语言main函数格式
-
func 告诉系统这是一个函数
-
main主函数固定名称
-
函数左括号必须和函数名在同一行
-
main函数必须在main包中
-
// 告诉系统当前编写的代码属于哪个包
package main
// 定义了一个名称叫做main的函数
func main() {
}
Go语言HelloWorld
package main // 告诉系统当前代码属于main这个包
import "fmt" // 导入打印函数对应的fmt包
func main() {
// 通过包名.函数名称的方式, 利用fmt包中的打印函数输出语句
fmt.Println("Hello World!!!")
}
Go语言HelloWorld和C语言HelloWorld异同
-
1.文件类型不同
-
C语言代码保存在.c为后缀的文件中
-
Go语言代码保存在.go为后缀的文件中
-
-
2.代码管理方式不同
-
我们会把不同类型的代码放到不同的.go文件中,然后通过package给该文件指定一个包名
-
需要使用时直接通过import导入对应的包名即可
-
C语言会把不同类型的代码放到不同的.c文件中, 然后再编写对应的.h文件
-
需要使用时直接通过#include导入对应文件的.h文件即可
-
C语言程序用文件的方式管理代码
-
Go语言程序用包的形式管理代码
-
-
3.main函数书写文件不同
-
C语言中main函数可以写在任意文件中, 只要保证一个程序只有一个main函数即可
-
Go语言中main函数只能写在包名为main的文件夹中, 同样需要保存一个程序只有一个main函数
-
4.函数编写的格式不同
-
注意:C语言函数的左括号可以和函数名称在同一行, 也可以不在同一行
-
C语言中函数的格式为
-
返回值类型 函数名称(形参列表) {
函数体相关语句;
return 返回值;
}
-
-
注意:Go语言函数的左括号必须和函数名称在同一行,否则会报错
-
Go语言函数定义格式
-
func 函数名称(形参列表)(返回值列表) {
函数体相关语句;
return 返回值;
}
-
5.函数调用的格式不同
-
C语言通过#include导入.h文件后,直接通过函数名称调用函数
-
Go语言通过import导入对应的包后,需要通过包名.函数名称的方式调用
-
#include <stdio.h>
#include "calculate.h"
int main()
{
int res = sum(2, 3); // 直接利用函数名称调用函数
printf("res = %d!\n", res);
return 0;
}
package main
import (
"fmt"
"lesson_1/calculate"
)
func main() {
res := calculate.Sum(2, 3) // 使用包名.函数名称调用函数
fmt.Println("res1 = ", res)
}
-
6.语句的结束方式不同
-
C语言中每条语句都必须以分号结尾
-
Go语言中每条语句后面不用添加分号(编译器会自动添加)
-
#include <stdio.h>
#include "calculate.h"
int main()
{
int res = sum(2, 3); // 不写分号会报错
printf("res = %d!\n", res); // 不写分号会报错
return 0; // 不写分号会报错
}
package main
import (
"fmt"
"lesson_1/calculate"
)
func main() {
res := calculate.Sum(2, 3) // 不用写分号
fmt.Println("res1 = ", res) // 不用写分号
}
Go语言注释
-
和C语言一样,Go语言也支持单行注释和多行注释, 并且所有注释的特性都和C语言一样
-
单行注释
// 被注释内容
-
多行注释
/* 被注释内容*/
-
-
在Go语言中,官方更加推荐使用单行注释,而非多行注释(详情可以直接查看Go官方源码)