Go(或Golang)是Google在2007年开发的一种开源编程语言,出自Robert Griesemer、Rob Pike和Ken Thompson之手。2009年11月10日,Google Open Sourse Blog向全球发布了这款语言;公告指出Go的主要目标是"兼具Python等动态语句的开发速度和C或C++等编译型语言的性能与安全性"
????????编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不用再进行翻译了。
????????解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。
????????虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。在运行的时候,由JVM将字节码再翻译成机器语言。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
编译型语言:
解释型语言:
这部分内容来自博客:https://blog.csdn.net/girldwh0715/article/details/70228553
1.Go代码是用包来组织的,包类似于其他语言中的库和模块。一个包由一个或多个
.go
源文件组成,放在一个文件夹中,该文件夹的名字描述了包的作用。每一个源文件的开始搜用package
声明,指明了这个文件属于那个包。后面跟着他导入的其他包的列表,然后是储存在文件中的程序声明;
2.名为main
的包比较特殊,它用来定义一个独立的可执行程序,而不是库。在main
包中,函数main
也是特殊的,不管在什么程序中,main
做什么事情,它总是程序开始执行的地方。main
通常调用其他包中的函数来做更多的事情。
3.导入错误的包或者导入的包未使用会编译失败。
任何程序先hello,绝对没有问题
package main
//引入需要的包,引入单个包时小括号可省略,引入多个包时,包与包之间换行或者用分隔符分割
import (
"fmt"
)
func main(){
fmt.Println("Hello, World!")
}
由上述例子我们可以知道,一个go语言程序的基本框架如下:
package <包名1> //指明这个文件属于哪个包
//导入所需要的包,包名用""包围
import (
<包名1>;<包名2>
)
func <函数名> (<参数名> <参数类型>) <返回值类型>{
<函数体>
}
Go语言程序的运行可以通过命令行go build
或go run
命令来运行。
Q:
go build
和go run
的区别:
A:go build
不会直接运行程序,而是生成一个可执行文件,我们要想得到运行结果,还需要手动执行这个文件;go run
直接运行程序,不生成可执行文件。开发用go run
,发布用go build
例如:运行上述的hello world
程序如下:
参考书籍
[1]: 【Go语言入门经典】[英] 乔治·奥尔波 著 张海燕 译
[2]: 【Go程序设计语言】黑砖(懂得自然懂)
前言 Git 作为一个分布式的版本管理工具,代码仓库中是会保存所有历史记录的。虽...
最近在配置百度云服务器和阿里云服务器需要把本地的代码和资料上传到服务器运行...
与现在相对热门的Clickhouse引擎相比,Druid对高并发的支持相对较好和稳定,但是...
border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border-radius: 5px 4...
本篇博客主要讲解以下问题: Git 常用命令 创建新仓库 检出仓库 添加与提交 推送...
1 问题描述 Vue3的组合式API无法在WebStorm中正确识别,表现为defineComponent等...
4月4日消息 据外媒 Windows Latest 报道,微软 Windows 10 的下一个重大功能更新...
所有的语言开篇都是Hello Word,数据处理引擎也有Hello Word。那就是Word Count。...
dirname dirname—返回路径中的目录部分 说明 dirname(string$path) :string 给...
MySQL的数据库管理工具非常多,有哪些优秀的GUI工具可以帮助提高工作效率?不妨看...