Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。它用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致。
Go语言语法与C相近,但功能上有:内存安全,GC(垃圾回收),结构形态及CSP-style并发计算。

代码解析:
跟大多数的编程语言一样,在Go语言中首先要定义main包,它定义了一个独立的可执行的程序,而不是一个库,在main里的main 函数 也很特殊,它是整个程序执行时的入口(译注:C系语言差不多都这样)。main函数所做的事情就是程序做的。当然了,main函数一般调用其它包里的函数完成很多工作(如:fmt.Println)。
然后,我们必须告诉编译器,此源文件需要那些包,这就是紧跟在package声明后面的import声明扮演的角色。本程序只用到了一个包,即“fmt”,而其他大多数的程序,则需要用到很多个包。
最后,是调用fmt包里面的Println函数将“hello world”这个内容打印输出。
Go语言中的注释和C语言中的注释格式相同,即: 单行注释:以//开头。 多行注释:以/*开头,以/*结尾,通常也称为注释块。
上面的hello world程序已经解释过,可以用import关键字来导入包,这里要补充的是,导入的包可以是标准库的,也可以是自己定义的包。
在Go语言中,变量声明有两种方式:
1.使用var关键字来声明一个变量。
eg:var age int(声明了一个名为age的整形变量)
2.短声明方式:
eg:age:=25(短声明并初始化一个整数类型的变量age)
这里没有写明age的类型,但是Go语言将会根据你赋予的值来自动判断其类型,这为我们在定义类型时取得了方便。
在Go语言中,使用const关键字来声明常量。常量在声明时必须进行初始化。
eg:
- const pi float64=3.14
- const day=1
Go 语言按类别有以下几种数据类型:

eg:
- var sum int // 声明一个整数类型的变量
- var score float64 // 声明一个浮点数类型的变量
- var ok bool // 声明一个布尔类型的变量
- var name string // 声明一个字符串类型的变量
- var numbers [10]int // 声明一个包含10个整数的数组
- var colors []string // 声明一个字符串切片
- var person map[string]string // 声明一个字符串到字符串的映射
- var student struct { // 声明一个结构体
- name string
- age int
- }
- var ptr *int // 声明一个整数类型的指针变量
- var add func(int, int) int // 声明一个函数变量
-
条件语句:

循环语句:


在Go语言中,使用func关键字定义函数
eg:
- func sayHello() {
- fmt.Println("Hello")
- }
-
- func add(a, b int) int {
- return a + b
- }
-
结构体是一种用户自定义的复合类型,用于封装多个字段。
结构体格式如下:

可以为结构体定义方法,方法是一种与特定类型关联的函数。
- type Rectangle struct {
- length, width float64
- }
-
- func (r Rectangle) area() float64 {
- return r.length * r.width
- }
-
- func main() {
- rect := Rectangle{length: 10, width: 5}
- fmt.Println(rect.area())
- }
-
defer语句用于延迟函数的执行,它会在当前函数返回之前执行。
- func main() {
- defer fmt.Println("好")
- fmt.Println("你")
- }
- // 输出结果:
- // 你
- // 好
-
Go具有内置的并发机制,可以轻松地编写并发程序。关键字go用于启动一个新的goroutine。
- func sayHello() {
- fmt.Println("你")
- }
-
- func main() {
- go sayHello() // 在新的goroutine中执行sayHello函数
- fmt.Println("好")
- }
-
-
在最后,我想说的是,如果你也想编写高质量的应用程序,我想Go语言应该会是你的不二选择,它天生就是为了高效率和高质量而生的!!!
本文里的代码有什么问题,可请各位大佬指正qwq
最后的最后,给大家安利我自己搭建的人工智能网站:aihub.52chye.cn