Go语言入门笔记:从基础到开发环境搭建(二)

四、Go 常用命令汇总

命令 作用
go mod init xxx 初始化 Go Module 项目,生成go.mod文件,开启模块化管理
go mod tidy 自动整理项目依赖:添加代码用到的包,删除未使用的包
go build 编译源码,生成可执行二进制文件,文件保留在磁盘
go run 文件名.go 临时编译并且直接运行代码,不会保存编译后的二进制文件
go install 下载源码,编译输出可执行程序到 bin 目录
go get [-u] 包地址 下载第三方源码包,-u更新包版本
go env 查看全部 Go 环境变量
go version 查看 Go 版本号

Go 项目布局

  1. 最小化工程布局

    MyPro
    ├─ go.mod
    ├─ xxx.go
    └─ yyy.go

  2. 带多包的工程布局

    MyPro1
    ├─ go.mod
    ├─ pkg1
    │ └─ pkg1.go
    └─ pkg2
    └─ pkg2.go

五、计算机基础:冯诺依曼体系五大部件

  1. CPU
    • 运算器:负责算术、逻辑运算;主频越高,单位时间运算次数越多,受物理限制,所以发展多核 CPU
    • 控制器:指挥协调各个硬件工作
    • CPU 内部:寄存器(临时存放计算数据)、Cache 高速缓存
  2. 存储器 Memory(内存) :运行内存,速度快,断电数据丢失
  3. 输入设备 Input:向计算机输入数据(键盘、鼠标等)
  4. 输出设备 Output:输出处理后的数据(显示器、打印机等)

其他硬件概念

  • 主板:计算机骨架,芯片组负责硬件协调
  • 显卡:处理图形数字信号,输出画面到显示器
  • 总线 Bus:分为数据总线、控制总线,硬件之间传输信号
  • 硬盘:持久化存储,断电数据不丢失,速度比内存慢
  • 时钟振荡器:产生时钟脉冲,驱动数字电路工作,决定硬件运行频率;CPU 主频 > 内存频率 > IO 外设频率
    重要原理:IO 设备不和 CPU 直接交互,CPU 只直接和内存交换数据。

编译型语言 vs 解释型语言

表格

类型 原理 代表语言
编译型语言 源代码直接编译为当前 CPU 平台本地机器指令,直接操作系统运行,不需要虚拟机 Go、C、C++
解释型语言 源码转成字节码,依赖虚拟机 / 解释器执行字节码 Java、Python、C#

Go 语言定位:强类型、静态编译型语言

  1. 声明变量必须明确指定类型
  2. 不允许隐式类型转换,类型转换必须显式强制转换
  3. 编译生成原生可执行程序,不依赖虚拟机
  4. 自带垃圾回收 GC

六、程序、算法与数据结构

程序 = 算法 + 数据结构

  1. 数据是程序的核心
  2. 数据结构:数据在内存中的组织、存储形式;内存是线性编址,按字节编号
  3. 算法:处理数据的逻辑步骤,算法存在性能优劣
  4. 高性能程序 = 合适的数据结构 + 适配的算法
相关推荐
不会就选b2 小时前
C++补充部分(一)--lambda 表达式
开发语言·c++
HRBorderInsight4 小时前
马来西亚人均收入一个月多少钱,个人薪资和家庭收入要分开看
经验分享·笔记
Pniubi4 小时前
HashMap的扩容和树化边界
java·开发语言
又見山5 小时前
本地 Markdown 与数据主权:你的笔记到底属于谁
笔记·obsidian
gCode Teacher 格码致知6 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas
发量惊人的中年网工6 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
下页、再停留7 小时前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
撩得Android一次心动7 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
ShineWinsu7 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素