Day 2:Golang 是什麽?

Golang 基本介绍:

是 Google 开发的静态编译程序语言,支援垃圾回收与并发,跟 C 的撰写逻辑相似。要了解 Go 的特性,我们需要拆解何谓静态语言以及何谓编译式语言。

什麽是静态程序语言?

简单来说,静态语言的意思,就是当你宣告一个变数时,你就需要同时宣告此变数会存放的资料型态为何;反之,动态语言则不需要在宣告变数时,就确定存放的资料型态。
大家比较熟悉的静态语言有:C、Java、Golang 等,动态则是:JavaScript、Python、Ruby
用一些程序码来举例,大家可能也会比较清楚~

// 变数 age 存放 value 3
var age int = 3
age = "jimmy"
// cannot use "jimmy" (untyped string constant) as int value in assignment
## 将 345 放进 age 变数
age = 345
## 将 age 变数改成放 string 
age = "jimmy"

从以上两个例子可以看出来,在 Go 里面,当变数被赋值时,此变数能存放的资料型态也被定义了,当你改变时,就会给你报错,反之 Python 则是可以让你任意更动。

静态与动态语言各有好处,最主要的差别在於静态语言是事先定义好资料型态,所以程序在执行时,不需要多花效能来判断资料型态,可以提升程序的执行速度。而动态语言的好处,则是撰写简单,不需要在宣告变数时,就写定其资料型态,对於新手来说相对简单好用。

什麽是编译式语言?

编译式与直译式语言最大的差别,在於程序执行的方式不同,

  • 编译式:
    当我们写完程序脚本时,我们需要先将脚本 compile(编译)成电脑懂的脚本,在将整包脚本拿去执行。
  • 直译式:
    当我们写完程序脚本时,直接使用直译器一行一行翻译成电脑语言并执行。

主要的优缺点就跟他们的执行特性相关,可以这样去理解。
因为编译式是整包打包转译、运算,而直译是一行一行翻译再执行所以

  1. 编译式执行效率较佳
  2. 直译式相对容易 Debug
  3. 编译式语言编译完的脚本,可以直接在各类 OS 系统中执行,因为其编译完的脚本,就是电脑懂的语句。
  4. 直译式则需要在特定的执行载体才能在电脑内执行相对应的脚本

因为这次主要是分享学 Golang 特性,关於语言特性的比较我这边只会简单到过,其他更多的介绍跟差异,就不在此展开,推荐各位看此篇文章:https://totoroliu.medium.com/%E7%B7%A8%E8%AD%AF%E8%AA%9E%E8%A8%80-vs-%E7%9B%B4%E8%AD%AF%E8%AA%9E%E8%A8%80-5f34e6bae051

有满详细的介绍~

今日总结: Golang 是一种编译式静态语言,未来我们会在各式程序码中,发现这些特性的~

好啦,今天就讲到这边,明天见!


<<:  最高级别的隔离- 第二类类虚拟机器监视器( Type II hypervisor)

>>:  3面向谈ML产品与软件产品的相异处

【Day 6】Replication

决定要拆章节了, 这篇只有 5.1, 5.2 5.3 放明天,因为我好累。 这章会提到 replic...

学习Python纪录Day16 - 使用Matplotlib绘制图表

使用Matplotlib绘制图表 安装matplotlib套件的命令列指令 pip install ...

JavaScript Day15 - event(2)

event 查目前网页的 event,开启 Chrome 的开发者工具,点选 Elements,之後...

[Day20] Google Map 评论爬虫详细教学

前一篇有提到url的连结不是Google店家页面的连结,需要透过Chrome的开发者工具才能找到~ ...

day26 老板我赶时间,给我最快完成的料理 select

提醒,select仍是实验中的api,请斟酌使用 在这之前的26天,我们所用的都是我要做什麽事,就是...