笔记篇:与君初相识| 青训营

81 阅读3分钟

一 :GO的特点

  1. C语言是在1971年的时候,被大神Ken Thompson和Dennis Ritchie发明的,而Go语言的主导开发者之一就是Ken Thompson,所以在很多地方和C语言类似,(比如struct、Printf、&取值符)

C/C++是直接编译为机器码,所以执行效率会更高,并且都不需要执行环境,用户的使用成本会更低,不像很多语言还需要安装所需的环境。

也因为这些原因,它们的一次编码或编译只适用于一种平台,对于不同操作系统而言,有时需要修改编码再编译,有时直接重新编译即可。

  1. Java是直接编译成字节码,这种编译产物是介于原始编码和机器码的一种中间码。这样的话,Java程序就需要特定的执行环境(JVM)了,执行效率相比会低一些,还可能有虚拟化损失。但是这样也有一个好处就是可以编译一次,多处执行(跨平台)

  2. Go不同于C/C++,对于多个平台,可能需要修改代码后再编译。也不同于Java的一次编码,编译成中间码运行在多个平台的虚拟机上。Go只需要一次编码,就能轻松在多个平台编译成机器码运行。


二:在vs code配置go开发环境时疑惑

cmd 和powershell区别

  • Windows 命令提示符(即 cmd)是 Windows 系统的一种命令行操作工具,用户可以通过输入命令来完成各种各样的系统或程序操作。
  • PowerShell是微软公司开发的任务自动化和配置管理框架。可以理解为 cmd 的升级版,或者说是其超集,类似 Linux 系统的 bash 一样,都是基于壳程序 shell
  • 连续命令执行,Cmd下用 &,Powershell用分号。

环境变量

  • 指明操目录在哪里(地址),或者改变应用状态(on或者数字等等)
  • 当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到环境变量中指定的路径去找。用户通过设置环境变量来更好的运行进程。
  • 环境变量可以分为用户变量系统变量,系统变量只有管理员用户可以修改。
  • %变量名%来调用命令,代替该环境变量所指示的地址。

Go Module

  • 问题: go.mod file not found in current directory or any parent directory; see 'go help modules' (exit status 1) 在当前目录或任何父目录中均未找到go.mod文件。
  • 每个模块都有自己的范围,并且功能不会跨模块工作
  • 将一个目录进行初始化后,该目录下生成一个go.mod文件。然后在该目录下创建一个子文件夹并新建.go文件),
  • 多模块并非默认开启的,因为目前依旧不够完善,需要手动开启。可以通过vs code中扩展Go的settings.json配置设置进行尝试.

Repositories和Project

  • Repositories直接翻译过来即是资料库的意思,它可以保存代码工程、项目代码、图片、文本等,平时做的笔记也是可以放入的。
  • Projects(project boards)指的是管理项目板的意思,用来进行项目管理,可以添加任务,制作工作流程等操作。进程计划