go语言学习-前置基础

1、不同开发语言对比

java

  • 优点:跨平合性强,运行稳定,安全性高,生态系统完善。
  • 缺点:代码量较大,开发速度慢,部署复杂,资源消耗大。

python

  • 优点:易学易用,代码简洁,生态系统丰富,适合快速开发。
  • 缺点:性能较低,不适合处理大型数据和高并发场景。

go

  • 优点:性能卓越,支持高并发,内存管理自动化,比较适合云原生领域。
  • 缺点:相对年轻,生态系统相对较小。

php

  • 优点:易于学习,开发速度快,社区活跃,可应用于Web开发。
  • 缺点:性能较低,架构设计欠缺,不太适合大型项目。

2、 编译型和解释型语言

编译型:将源代码通过编译器转化为一个可以运行的"包"(机器码,二进制),然后在计算机上直接执行。因为机器码是计算机能够直接理解的,所以其运行速度通常比解释型语言快。比如go

解释型:不需要编译成机器码,而是由解释器逐行解释执行程序代码。由于解释器需要动态翻译代码,所以其运行速度通常比编译型语言慢一些,但开发效率较高,更加易于调试

和修改。比如python和shell

3、 开发相关概念

3.1 常量和变量

常量:不会被改变的值称为常量。在程序运行时,常量不会被修改。

变量:变量是可以被更改的值。在程序运行时,可以修改变量以达到不同的运行结果。

3.2 数据类型

整数 (int):-1、01

浮点数 (float):-1.1、1.1、1.2

字符串 (string):dable、中文

布尔值 (bool) :true、false

3.3 数据结构

数组 (array):数组是一组数据元素的集合,每个元素都可以使用索引进行访问。数组的长度是固定的,一旦创建不可修改其大小。

列表 (list):和数组的区别是列表可以通过添加、删除或修改元素来动态地调整大小

对象 (object):对象是一种复合的数据类型,可以表示为键值对。每个键值对包含一个键(key)和一个相应的值(value),用于表示某种属性或特性

3.4 编程语言分类

编程语言分为强类型语言和弱类型语言。

强类型:编译或运行时会更严格地检查变量的类型一致性。代码bug会少一点。

弱类型:编译器会自动进行类型转换。

3.5 运算符分类

算术运算符:用来执行基本的数学计算,包括加、减、乘、除和取余操作。

比较运算符:用来比较两个值之间的关系,并返回一个布尔值。包括大于、小于、大于等于、小于等于、不等于、等于等。

逻辑运算符:用来执行布尔逻辑运算,包括与、或和非操作。例如,与运算符会检查多个条件是否同时为真,或运算符会检查多个条件中是否有至少一个为真,而非运算符则会反转给定条件的值。

3.5.1 算数运算符

Go:

  • a := 10
  • b := 5
  • sum:= a + b
  • difference := a - b
  • product:= a * b
  • quotient:= a / b
  • remainder := a % b

Python:

  • a = 10
  • b = 5
  • sum = a + b
  • difference = a - b
  • product = a * b
  • quotient = a / b
  • remainder = a % b

3.5.2 逻辑运算符

Go:

a := true

b:=false

//且

fmt.Println(a&&b)//输出:false

//或

fmt.Println(a 11 b) // 输出:true

//取反

fmt.Println(!a)// 输出:false

fmt.Println(!b) // 输出:true

Python:

a = True

b = False

print(a and b) #输出:False

print(a or b)#输出:True

print(not a)#输出:False

print(not b)#输出:True

3.5.2 比较运算符

Go:

a := 10

b := 5

fmt.Println(a>b) //输出:true

fmt.Printin(a<b) // 输出:false

fmt.Printin(a >=b) // 输出:true

fmt.Printin(a <=b)// 输出:false

fmt.Printin(a ==b //输出:false

fmt.Println(a!=b) // 输出:true

Python:

a = 10

b = 5

print(a>b) #输出:True

print(a <b)#输出:False

print(a >= b)#输出:True

print(a <=b)#输出:False

print(a ==b)#输出:False

print(a !=b)#输出:True

3.6 逻辑控制

逻辑控制 (Logic control)是一种编程思想,它使用条件语句、循环语句和函数等

流程,以达到实现特定功能的目的。

简单来说,逻辑控制就是通过不同的条件来控制程序的运行流程,并做出不同的结

果。

常见的逻辑控制语句为条件语句(if、switch)和循环语句(for、while)。

3.7 函数

在编程中,函数是一种可重用的代码块,它封装了一系列相同的操作成为了一个独立的一

部分,这个部分可以被其他地方调用。

函数的作用在于将复杂的程序逻辑拆分成多个小块,使得程序结构更加清晰明了,易于维

护和扩展。

函数封装原则:

  • 单一职责:每个函数应该只负责一块功能,不应该做太多的事情;
  • 可读性强:函数应该清晰易懂,遵循良好的命名规范,让其他开发人员容易理解;
  • 可重用性强:函数应该尽可能地通用,让其可以在不同的上下文中使用。

3.8 开发代码规范

代码开发规范是指遵循一定的编码风格、命名约定、注释规范等的一系列行为准则。

  1. 提高代码质量:遵循代码开发规范可以使代码易于阅读、维护和共享,多人协作开发更加容易。
  2. 降低维护成本:遵循代码开发规范可以让整个团队共享相同的代码写作习惯,从而减少代码维护成本
  3. 提高团队协作效率:代码开发规范可以统一团队开发标准,减少因为不同习惯带来的不必要的沟通和误解,提高团队的协作效率。

3.8.1 命名规范

变量命名规范:

1、使用有意义的名称,避免使用无意义或缩写形式进行命名,要见名知义。

2、变量名应该以小写字母开头,多个单词可以用下划线分隔(例如:first name)或者使用驼峰命名法(例如:firstNare),推荐使用驼峰式。

3、避免使用保留关键字或已经定义的函数名作为变量名。

函数命名规范:

1、函数名应该描述西数的功能,使用有意义的名称,也需要是见名知义。

2、函数名同样应该以小写宇母开头,并且使用驼峰命名法。

3、如果函数返回布尔值,通常在函数名前加上is、has、can等前级,例如:isValido、

hasPermission).

4、如果函数是一个事件处理程序,通常需要以on开头,例如:onClick(、onSulbmito。

3.8.2 注释规范

对变量或者函数添加单行或者多行注释。

相关推荐
Algorithm157620 分钟前
云原生相关的 Go 语言工程师技术路线(含博客网址导航)
开发语言·云原生·golang
Narutolxy1 小时前
深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
开发语言·golang·gin
Hello.Reader2 小时前
全面解析 Golang Gin 框架
开发语言·golang·gin
hkNaruto1 天前
【P2P】【Go】采用go语言实现udp hole punching 打洞 传输速度测试 ping测试
golang·udp·p2p
入 梦皆星河1 天前
go中常用的处理json的库
golang
海绵波波1071 天前
Gin-vue-admin(2):项目初始化
vue.js·golang·gin
每天写点bug1 天前
【go每日一题】:并发任务调度器
开发语言·后端·golang
一个不秃头的 程序员1 天前
代码加入SFTP Go ---(小白篇5)
开发语言·后端·golang
基哥的奋斗历程1 天前
初识Go语言
开发语言·后端·golang
ZVAyIVqt0UFji1 天前
go-zero负载均衡实现原理
运维·开发语言·后端·golang·负载均衡