上一篇主题,讲解了Go 语言的基础知识与现状,这篇主题继续和大家分享 Go 语言的其他知识,预计 10 万字。
常量变量对比
- C语言定义常量和变量格式
- Go语言定义常量和变量格式
- 除了以下标准格式外,Go语言还提供了好几种简单的语法糖
注释对比
// 被注释内容/* 被注释内容*/在Go语言中,官方更加推荐使用单行注释,而非多行注释(详情可以直接查看Go官方源码)
运算符对比
- 算数运算符和C语言几乎一样
- Go语言中++、--运算符不支持前置
- 错误写法: ++i; --i;
Go语言中++、--是语句,不是表达式,所以必须独占一行
- 错误写法: a = i++; return i++;

关系算符和C语言一样

逻辑运算符和C语言一样

位运算符和C语言几乎一样
- 新增一个&^运算符

赋值运算符和C语言几乎一样
- 新增一个&^=运算符

流程控制语句对比
- C语言流程控制中的if、switch、for在Go语言都可以使用
- C语言中的四大跳转语句return、break、continue、goto在Go语言都可以使用
- Go语言除了实现C语言中if、switch、for、return、break、continue、goto的基本功能以外,还对if、switch、for、break、continue进行了增强
- 例如: if 条件表达式前面可以添加初始化表达式
- 例如: break、continue可以指定标签
- 例如: switch语句可以当做if/elseif来使用
- ... ...
值得注意的是Go语言中没有while循环和dowhile循环, 因为它们能做的Go语言中的for循环都可以做
函数和方法对比
函数和方法对比
- C语言定义函数格式
- Go语言定义函数格式
- C语言中没有方法的概念, 但是Go语言中有方法
- 对于初学者而言,可以简单的把方法理解为一种特殊的函数
func (接收者 接受者类型)函数名称(形参列表)(返回值列表) {
函数体相关语句;
return 返回值;
}
编程思想对比
- C语言是一门面向过程的编程语言
- 面向过程: 按部就班, 亲力亲为,关注的是我应该怎么做?
- 做饭例子: 面向过程做饭
- 1.上街买菜
- 2.摘菜
- 3.洗菜
- 4.切菜
- 5.开火炒菜
- 6.淘米煮饭
- 7.吃饭
Go语言是门面向对象的编程语言
- 面向对象:化繁为简, 能不自己干自己就不干,关注的是我应该让谁来做?
- 做饭例子: 面向对象做饭
- 1.找个会做饭女朋友 or 男朋友
- 2.老婆我饿了 or 老公我饿了
- 3.躺着...等她/他把饭做好
- 4.吃饭
- 不要把面向过程和面向对象想象得那么神奇, 它们只是思考问题的方式不同而已
其它新增特性
- 接口
- 并发
- 反射
- 异常处理
- ....
由于字数限制,本文就分享到这里。
如果觉得有价值,点赞支持
@李南江
由于部分好友可能等不及更新,建议先看电子书。

