go 语言最详细的入门教程

Go语言程序组成

  • 和C语言程序一样,Go语言程序也是由众多函数组成的
  • 和C语言程序一样,程序运行时系统会***自动调用***名称叫做***main的函数***
  • 和C语言程序一样,如果一个程序***没有主函数***,则这个程序***不具备运行能力***
  • 和C语言程序一样,一个Go语言程序***有且只能有一个函数***

Go语言程序主函数定义格式

int main(int argc, const char * argv[]) {
    return 0;
}
// 告诉系统当前编写的代码属于哪个包
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.文件类型不同
  • 2.代码管理方式不同
    • C语言程序用***文件***的方式管理代码
      • C语言会把不同类型的代码放到不同的.c文件中, 然后再编写对应的.h文件
      • 需要使用时直接通过#include导入对应文件的.h文件即可

    • Go语言程序用***包***的形式管理代码
      • 我们会把不同类型的代码放到不同的.go文件中,然后通过package给该文件指定一个包名
      • 需要使用时直接通过import导入对应的包名即可

  • 3.main函数书写文件不同
  • 4.函数编写的格式不同
    • C语言中函数的格式为
      • 注意:C语言函数的左括号可以和函数名称在同一行, 也可以不在同一行
返回值类型 函数名称(形参列表) {
        函数体相关语句;
        return 返回值;
}
func  函数名称(形参列表)(返回值列表) {
        函数体相关语句;
        return 返回值;
}
#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官方源码)

Go语言编码风格

  • 1.go程序编写在.go为后缀的文件
  • 2.包名一般使用文件所在文件夹的名称
  • 2.包名应该简洁、清晰且全小写
  • 3.main函数只能编写在main包中
  • 4.每一条语句后面可以不用编写分号(推荐)
  • 5.如果没有编写分号,一行只能编写一条语句
  • 6.函数的左括号必须和函数名在同一行
  • 7.导入包但没有使用包编译会报错
  • 8.定义局部变量但没有使用变量编译也会报错
  • 9.定义函数但没有使用函数不会报错
  • 10.给方法、变量添加说明,尽量使用单行注释

相关文章

什么是Go的接口? 接口可以说是一种类型,可以粗略的理解为他...
1、Golang指针 在介绍Golang指针隐式间接引用前,先简单说下...
1、概述 1.1&#160;Protocol buffers定义 Protocol buffe...
判断文件是否存在,需要用到"os"包中的两个函数: os.Stat(...
1、编译环境 OS :Loongnix-Server Linux release 8.3 CPU指...
1、概述 Golang是一种强类型语言,虽然在代码中经常看到i:=1...