第六届字节跳动青训营Go语言第一次实践| 豆包MarsCode AI 刷题

145 阅读2分钟

Go语言阅读笔记 一、Go语言简介 Go语言,又称Golang,是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。自2009年推出以来,Go语言因其简洁、高效、易学等特点,逐渐在云计算、微服务、区块链等领域崭露头角。 二、基础知识点 变量与常量 Go语言中的变量和常量声明非常简洁,使用关键字var声明变量,const声明常量。变量可以赋予初始值,若不赋予,则默认为零值。常量的值在声明时必须赋予,且不可更改。

   var a = "initial"

var b, c int = 1, 2

var d = true

var e float64

数据类型 Go语言的数据类型包括基本数据类型(如整型、浮点型、布尔型等)和复合数据类型(如数组、切片、映射、结构体等)。其中,切片和映射是Go语言独有的数据结构,具有很高的灵活性和实用性。 流程控制 Go语言的流程控制包括条件语句(if、switch)、循环语句(for)和选择语句(select)。其中,select语句是Go语言特有的,用于处理通道(channel)的并发问题。 函数和方法 Go语言中的函数和方法是一等公民,可以像普通变量一样传递。函数可以返回多个值,这使得错误处理更加方便。方法是与特定类型关联的函数,类似于其他语言中的成员函数。 如:

func add2(a, b int) int {
        return a + b
}

func exists(m map[string]string, k string) (v string, ok bool) {
        v, ok = m[k]
        return v, ok
}

并发编程 Go语言原生支持并发编程,通过goroutine和channel实现。goroutine是一种轻量级线程,channel用于goroutine之间的通信。这种并发模型简化了并发编程的复杂性,提高了程序的性能。 三、个人思考与分析 简洁性 Go语言的简洁性体现在很多方面,如变量声明、函数定义等。这种简洁性使得代码易于阅读和维护,降低了编程门槛。但同时,简洁性也可能导致一些功能受限,如缺少类和继承等面向对象的特性。个人认为,这种设计理念更注重实用性和高效性,适合快速开发和部署。 包管理 Go语言的包管理机制较为简单,通过go get命令可以轻松下载和管理依赖。但随着项目规模的扩大,依赖关系可能变得复杂。在这方面,Go语言团队也在不断优化包管理工具,如推出go mod等。