GO 语言后端学习笔记:
一、基础知识点
以下为第一课中所学的相关知识点,主要是GO语言的基础语法、使用等,在已有Python等语言基础的情况下,学习起来更为得心应手。
- 变量与常量 - 变量:使用
var关键字声明变量,例如var age int = 30。也可以使用简短变量声明,如name := "John"。 - 常量:使用const关键字声明常量,如const pi = 3.14。 - 数据类型 - 基本数据类型:包括整数类型(如
int、uint)、浮点数类型(如float32、float64)、布尔类型(bool)、字符串类型(string)等。 - 复合数据类型: - 数组:固定长度的相同类型元素的集合,如var arr [5]int。 - 切片:动态大小的数组,使用[]T表示,其中T是元素类型。可以通过make函数创建,如s := make([]int, 5)。 - 控制结构 - 条件语句:使用
if、else if和else进行条件判断。 - 循环语句:for循环是 Go 语言中唯一的循环语句,可以用于遍历数组、切片、映射等。 - 开关语句:使用switch进行多分支判断。 - 函数 - 函数定义使用
func关键字,例如func add(a int, b int) int { return a + b }。 - 可以返回多个值,如func swap(a int, b int) (int, int) { return b, a }。 - 结构体与方法 - 结构体:自定义数据类型,包含多个字段。例如
type Person struct { Name string; Age int }。 - 方法:为结构体定义的函数,如func (p Person) greet() string { return "Hello, I am " + p.Name }。
二、个人思考分析
在一众编程语言之中,我认为 Go 语言在后端开发中有很多优势,这或许也是为什么相较于现在较为热门的Java、Python而言,许多公司尤其是互联网相关企业更倾向于使用Go。首先,它的简洁语法使得代码易于阅读和维护。变量和常量的声明方式直观,数据类型丰富且易于使用。 控制结构的设计简洁高效,特别是 for 循环的单一性,减少了学习成本和代码出错的可能性。函数的多返回值特性在处理错误时非常方便,可以直接返回结果和错误信息,而不需要像其他语言那样使用异常处理机制。 结构体和方法的组合使得面向对象编程更加简洁明了。通过定义结构体,可以将相关的数据和行为封装在一起,提高代码的可维护性和可扩展性。 在性能方面,Go 语言的编译速度快,并且具有高效的并发模型。通过使用 goroutine 和 channel,可以轻松地实现并发编程,提高程序的性能和响应速度。此外,Go的基础库集成了许多编程中所需的功能,这就意味着它无需像Python一样调库,省略了找库、下载库甚至其依赖等一系列冗杂的步骤,也减少了程序设计者在库相关语法、函数方面花费的学习成本。
三、代码示例
以课上所学内容为基准,我写了一个简单的 Go 语言后端代码示例,展示了如何定义结构体、函数和使用控制结构。
package main import "fmt" // 定义一个结构体表示学生
type Student struct { Name string Grade int } // 定义一个函数,根据学生的成绩判断是否及格
func isPass(student Student) bool { return student.Grade >= 60 }
func main() { // 创建一个学生对象 student := Student{Name: "Alice", Grade: 80} // 判断学生是否及格
if isPass(student) { fmt.Println(student.Name, "is passed.") }
else { fmt.Println(student.Name, "is not passed.") } }
我在这段代码中定义了一个 Student 结构体表示学生,包含 Name 和 Grade 两个字段,然后定义了函数 isPass,用于判断学生是否及格。在 main 函数中,创建了一个学生对象,并使用 isPass 函数判断学生是否及格,最后输出相应的结果。