「Day02」快速上手go语言(GoGogo)
本期分享如题:
如何学习Go语言
Go语言被称之为现代化的C语言, 所以无论是从语法特性, 还是作者本身, Go语言都与C语言有着莫大的关系, 所以学习之前如果你有C语言的基础, 那么将会事半功倍。对于初学者而言, 学习编程的捷径只有一条, 那就是多动手。本次分享内容 是将C语言和Go语言进行对比学习,快来学习吧~gogogo
//// ////
学习内容仅供分享
关键字对比
C语言中一共有32个关键字
Go语言中一共有25个关键字
数据类型对比
C语言数据类型
Go语言数据类型
占用内存空间对比
C语言各数据类型占用内存空间
Go语言各数据类型占用内存空间
和C语言一样,Go语言也提供了Sizeof计算变量的内存空间1.导入import "unsafe"包
2.通过unsafe.Sizeof()计算变量内存空间
常量变量对比
C语言定义常量和变量格式
a.据类型 变量名称 = 值;
b.const 数据类型 常量名称 = 值;
Go语言定义常量和变量格式
var 变量名称 数据类型 = 值;
const 变量名称 数据类型 = 值;
除了以下标准格式外,Go语言还提供了好几种简单的语法糖
注释对比
和C语言一样,Go语言也支持单行注释和多行注释, 并且所有注释的特性都和C语言一样
单行注释 // 被注释内容
多行注释 /* 被注释内容*/
在Go语言中,官方更加推荐使用单行注释,而非多行注释(详情可以直接查看Go官方源码)
运算符对比
算数运算符和C语言几乎一样
错误写法: a = i++; return i++;
错误写法: ++i; --i;
Go语言中++、–运算符不支持前置
Go语言中++、–是语句,不是表达式,所以必须独占一行
关系算符和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语言定义函数格式
返回值类型 函数名称(形参列表) {
函数体相关语句;
return 返回值;}
Go语言定义函数格式
func 函数名称(形参列表)(返回值列表) {
函数体相关语句;
return 返回值;}
C语言中没有方法的概念, 但是Go语言中有方法
对于初学者而言,可以简单的把方法理解为一种特殊的函数
func (接收者 接受者类型)函数名称(形参列表)(返回值列表) {
函数体相关语句;
return 返回值;}
编程思想对比
C语言是一门面向过程的编程语言
1.上街买菜
2.摘菜
3.洗菜
4.切菜
5.开火炒菜
6.淘米煮饭
7.吃饭
面向过程: 按部就班, 亲力亲为,关注的是我应该怎么做?
做饭例子: 面向过程做饭
Go语言是门面向对象的编程语言
面向对象:化繁为简, 能不自己干自己就不干,关注的是我应该让谁来做?
做饭例子: 面向对象做饭
1.找个会做饭女朋友 or 男朋友
2.老婆我饿了 or 老公我饿了
3.躺着…等她/他把饭做好
4.吃饭
不要把面向过程和面向对象想象得那么神奇,
它们只是思考问题的方式不同而已。
其它新增特性
接口
并发
反射
异常处理
…
后面学长会在继续学习Golang语言的同时 继续做一些有价值的学习分享。
希望我们都能对生活保持热爱
以下为之前分享的宝藏内容
希望学长分享的内容对你我都有帮助
Kubernetes系列文章
Pandas系列文章
【技术分析】数据处理工具Pandas 下
【技术分析】数据处理工具Pandas 上
PART2分享文章
【习惯法则】所有的习惯养成都遵循21天法则?
【学长杂谈】积极废人 自救指南
【分享】后厂村鲜为人知的一面
【分享】HI,好久不见的学长
【测试开发】分享测试开发工程师的内心独白
【AI】代码自动补全神器,KITE
【影视分享】看诺兰新片《信条》前还需要做哪些准备工作
【面试经历】有关于-ByteDance. -01字节奇缘
【面试经验】学长一面百度-经验分享
【学习资源】python课程分享_建议分享+收藏
【夏季八谈】摆摊吧,后浪
"生活是苦难的,我又划着我的断桨出发了”
PS:公号内回复 :学长微信,即可联系到我!