什么是Go语言?
Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。它用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致。
Go语言语法与C相近,但功能上有:内存安全,GC(垃圾回收),结构形态及CSP-style并发计算。
Go语言有什么特点和优势?
- 简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。
- 代码风格统一,提供了一套格式化工具——go fmt。
- 原生支持并发,使用起来非常简单。
- 开发效率高,内置了垃圾回收机制,降低了开发者的心智负担,使其拥有像Python、PHP等解释性语言的一样的开发效率。
- 编译速度明显优于 Java 和 C++,还拥有接近C语言的运行效率以及接近 PHP 的开发效率。
- 标准库非常稳定并且丰富多样,包括网络、系统、加密、编码、图形等各个方面。
- 稳定性强。
- 部署方便。
Go的基础语法与常用特性解析
让我们从最经典的“ hello world” 开始
代码解析:
跟大多数的编程语言一样,在Go语言中首先要定义main包,它定义了一个独立的可执行的程序,而不是一个库,在main
里的main
函数 也很特殊,它是整个程序执行时的入口(译注:C系语言差不多都这样)。main
函数所做的事情就是程序做的。当然了,main
函数一般调用其它包里的函数完成很多工作(如:fmt.Println
)。
然后,我们必须告诉编译器,此源文件需要那些包,这就是紧跟在package
声明后面的import
声明扮演的角色。本程序只用到了一个包,即“fmt”,而其他大多数的程序,则需要用到很多个包。
最后,是调用fmt包里面的Println函数将“hello world”这个内容打印输出。
1.注释
Go语言中的注释和C语言中的注释格式相同,即: 单行注释:以//开头。 多行注释:以/*开头,以/*结尾,通常也称为注释块。
2.包导入
上面的hello world程序已经解释过,可以用import
关键字来导入包,这里要补充的是,导入的包可以是标准库的,也可以是自己定义的包。
3.变量声明
在Go语言中,变量声明有两种方式:
1.使用var
关键字来声明一个变量。
eg:var age int(声明了一个名为age的整形变量)
2.短声明方式:
eg:age:=25(短声明并初始化一个整数类型的变量age)
这里没有写明age的类型,但是Go语言将会根据你赋予的值来自动判断其类型,这为我们在定义类型时取得了方便。
4.常量声明
在Go语言中,使用const
关键字来声明常量。常量在声明时必须进行初始化。
eg:
const pi float64=3.14
const day=1
5.数据类型
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 // 声明一个函数变量
6.控制流语句
条件语句:
循环语句:
7.函数:
在Go语言中,使用func
关键字定义函数
eg:
func sayHello() {
fmt.Println("Hello")
}
func add(a, b int) int {
return a + b
}
8.结构体
结构体是一种用户自定义的复合类型,用于封装多个字段。
结构体格式如下:
9.方法
可以为结构体定义方法,方法是一种与特定类型关联的函数。
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())
}
10.defer语句
defer语句用于延迟函数的执行,它会在当前函数返回之前执行。
func main() {
defer fmt.Println("好")
fmt.Println("你")
}
// 输出结果:
// 你
// 好
11.并发编程
Go具有内置的并发机制,可以轻松地编写并发程序。关键字go
用于启动一个新的goroutine。
func sayHello() {
fmt.Println("你")
}
func main() {
go sayHello() // 在新的goroutine中执行sayHello函数
fmt.Println("好")
}
Final summary
在最后,我想说的是,如果你也想编写高质量的应用程序,我想Go语言应该会是你的不二选择,它天生就是为了高效率和高质量而生的!!!
本文里的代码有什么问题,可请各位大佬指正qwq
最后的最后,给大家安利我自己搭建的人工智能网站:aihub.52chye.cn