Go语言入门指南学习笔记 | 青训营

52 阅读3分钟

1. 介绍与背景

  • Go语言,也被称为Golang,是一门由Google开发的开源编程语言,其设计目标包括高效性、可读性和并发性。 Go语言是一种静态类型的编程语言,它具有并发编程、垃圾回收和快速编译等特点。Go语言于2009年首次公开发布。Go 语言语法与 C 相近,但对于变量的声明有所不同。
  • 与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries) ),就像字符串类型一样。

2. 基本语法

2.1 变量与常量

  • 变量(Variables)和常量(Constants)在编程中都具有重要性,它们在不同的角色和用途下发挥作用。
  • 使用var关键字声明变量,例如:var age int
  • 使用const关键字声明常量,例如:const pi = 3.14159

变量和常量在编程中都是非常重要的概念。它们在不同的场景下具有不同的作用,帮助程序实现各种功能,提高代码的可读性、可维护性和可靠性。合理使用变量和常量可以使代码更具灵活性、安全性和可扩展性。

2.2 数据类型

  • Go语言拥有基本的数据类型如整型、浮点型、字符串等,也支持自定义数据类型。
  • 使用int表示整数,float64表示双精度浮点数,string表示字符串。

数据类型在编程中起到了至关重要的作用。正确地选择和使用数据类型可以帮助我们编写更高效、可靠、可读性强的代码,减少错误,提高代码质量。

2.3 控制结构

  • 使用if语句进行条件判断,例如:

    goCopy code
    if age >= 18 {
        fmt.Println("成人")
    } else {
        fmt.Println("小孩子")
    }
    
  • 使用for循环进行迭代,例如:

    goCopy code
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
    

控制结构是编程中的基础概念,对于实现程序逻辑、处理不同情境和实现功能都起着关键作用。理解不同的控制结构以及何时使用它们,可以使你编写出更加结构清晰、功能完备的代码。

2.4 函数

  • 使用func关键字定义函数,例如:

    goCopy code
    func add(a, b int) int {
        return a + b
    }
    
  • 函数可以返回多个值,例如:

    goCopy code
    func divide(a, b float64) (float64, error) {
        if b == 0 {
            return 0, errors.New("除数不能为零")
        }
        return a / b, nil
    }
    

函数是编程中的核心概念之一,有助于使代码更具结构、可维护性和可读性。使用好函数可以使你的代码更易于开发、测试和维护,同时也能提高代码的重用性和效率。

3. 并发编程

  • Go语言天生支持并发编程,通过goroutine和channel实现。

  • 使用go关键字开启一个goroutine,例如:go doSomething()

  • 使用make函数创建channel,并使用<-操作符进行通信,例如:

    goCopy code
    ch := make(chan int)
    ch <- 42 // 发送数据
    value := <-ch // 接收数据
    

并发编程可以帮助充分发挥硬件性能,提高程序的效率、响应性和资源利用率,同时也为开发更强大、更高效的应用程序打开了新的可能性。

4. 包管理与项目结构

  • Go语言使用包(package)进行代码组织,每个文件都属于一个包。
  • 使用import语句引入其他包,例如:import "fmt"
  • 推荐使用go mod进行包管理,管理项目的依赖关系。

5. 实践项目

  • 在学习的Go的后端实践过程中,希望通过进行Go语言构建抖音的实践大项目来巩固知识。