Go-base知识点

发布时间 2023-09-25 16:28:51作者: 白露~
go的基本东西
  • FPM进程
  • master,worker
  • Gpm
  • 协程和线程的联系
  • 协程是GO的核心
 
Go module
  • go.mod
 
Go 的常用命令
  • Go run
  • Go build
 
Go 的基本语法
  • Struct
  • Func
  • 指针方法,非指针方法
  • 大写public,小写 private
  • 作用域 放同一目录
  • GO不能循环依赖
  • Interface sturct 隐式实现
  • 泛型
 
GO的思想
  • Ducklish:类鸭子行为
  • 签名:方法名,出参入参
  • 继承
  • Java 关键字,go 结构
  • 设计理念 :Less is more
 
 
 
 
  1. FPM进程
FPM(FastCGI Process Manager)是一种通用的 PHP 进程管理器,可以帮助 PHP 应用程序实现更高的并发性和稳定性。在 Go 语言中,也有类似的概念,master-worker 模型的基本思想是将一个任务分成多个子任务,并由多个 worker 协程来并行处理这些子任务。master 协程负责将任务分解、分配给各个 worker 协程,并最终汇总处理结果。worker 协程则负责具体的任务执行工作。这样,整个应用程序便能够更加高效地利用计算资源,并实现更高的并发性。
  1. Gpm
Gpm(Go Package Manager)是 Go 语言自带的一个包管理工具,用于下载、安装和管理第三方库或框架。Gpm 可以根据项目所需的依赖关系和版本信息,自动下载并管理相应的依赖库,并保证其版本的兼容性和稳定性。
  1. 协程和线程的联系
协程和线程都是实现并发编程的重要手段。它们的主要区别在于,线程是由操作系统内核进行调度和管理的,而协程则是由程序自身进行调度和管理的。这使得协程拥有更高的性能和更轻量级的特点,可以更好地适应大规模并发场景。
  1. 协程是GO的核心
协程是 Go 语言的核心特性之一,它使得 Go 能够更好地支持并发编程和异步 IO 等复杂场景。通过使用协程,开发者可以更加方便地实现异步任务处理、非阻塞 IO 等高性能的功能。
  1. Go module
Go module 是 Go 语言自 1.11 版本引入的一种依赖管理机制,它可以更加方便地管理项目中的依赖关系和版本控制。使用 Go module 可以使得 Go 项目的构建和维护更加规范化、可重复性更高。
  1. Go 的常用命令
Go 语言提供了一系列常用的命令,用于编译、运行和测试 Go 代码。其中,最常用的命令包括:
  • go run:用于编译并运行 Go 代码。
  • go build:用于将 Go 代码编译成可执行文件。
  • go test:用于运行针对 Go 代码的测试用例。
  1. Go 的基本语法
Go 语言是一种简洁、高效的编程语言,其基本语法包括:
  • Struct:用于定义结构体类型。
  • Func:用于定义函数和方法。
  • 指针方法和非指针方法:用于定义结构体的方法,并可以选择使用指针类型或非指针类型。
  • 大写public,小写 private:用于表示变量、函数和方法的访问权限。
  • 作用域:Go 中的作用域是按照代码块划分的,同一目录下的代码块可以互相访问。
  • Interface struct 隐式实现:接口可以被任何类型隐式实现。
  • 泛型:Go 语言目前还没有实现泛型,因此需要使用其他技巧来实现类似的功能。
  1. Go 的思想
Go 语言有着独特的设计理念和思想,例如:
  • Ducklish:Go 语言中的接口是通过行为来定义,而不是通过类型来定义,这种思想被称为 Duck Typing,即“看起来像鸭子就是鸭子”。这个特点使得 Go 语言的代码更加灵活和易于扩展。
  • 签名:Go 语言中函数和方法的签名(包括函数名、参数类型和返回值类型等)非常重要,因为它可以决定函数或方法的可见性和调用方式。
  • 继承:Go 语言没有传统意义上的继承机制,但可以通过嵌套结构体来实现类似的功能。
  • Java 关键字,go 结构:Go 语言受到了 Java 和 C++ 等传统编程语言的影响,在语法和关键字方面也有很多相似之处。但与此同时,Go 语言也有很多独特的设计和创新。
  • 设计理念:Go 语言的设计理念是“Less is more”,即通过简化语言特性和标准库,来提高整个语言的可读性、可维护性和可扩展性。这种理念使得 Go 语言的代码更加清晰、易于理解和维护。
总之,以上介绍了 Go 语言的一些基本入门知识,包括 FPM 进程、master-worker、Gpm、协程和线程的联系、Go module、常用命令、基本语法、思想等内容。掌握这些基本知识可以帮助开发者更加深入地理解和应用 Go 语言,提高自身的技术水平和开发效率。