Go语言基础知识点介绍


Posted in Golang onJuly 04, 2021

Go 语言教程

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

Go 语言特色

  • 简洁、快速、安全
  • 并行、有趣、开源
  • 内存管理、数组安全、编译迅速

Go 语言用途

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。

第一个 Go 程序

接下来我们来编写第一个 Go 程序 hello.go(Go 语言源文件的扩展是 .go),代码如下:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

要执行 Go 语言代码可以使用 go run 命令。

执行以上代码输出:

$ go run hello.go
Hello, World!

此外我们还可以使用 go build 命令来生成二进制文件:

$ go build hello.go
$ ls
hello hello.go
$ ./hello
Hello, World!

基础知识点扩展:

计算机软件经历了数十年的发展,形成了多种学术流派,有面向过程编程、面向对象编程、函数式编程、面向消息编程等,这些思想究竟孰优孰劣,众说纷纭。

除了OOP外,近年出现了一些小众的编程哲学,Go语言对这些思想亦有所吸收。例如,Go语言接受了函数式编程的一些想法,支持匿名函数与闭包。再如,Go语言接受了以Erlang语言为代表的面向消息编程思想,支持goroutine和通道,并推荐使用消息而不是共享内存来进行并发编程。总体来说,Go语言是一个非常现代化的语言,精小但非常强大。

Go 语言最主要的特性:

  • 自动垃圾回收
  • 更丰富的内置类型
  • 函数多返回值
  • 错误处理
  • 匿名函数和闭包
  • 类型和接口
  • 并发编程
  • 反射
  • 语言交互性

到此这篇关于Go语言基础知识点介绍的文章就介绍到这了,更多相关Go语言教程内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Golang 相关文章推荐
go:垃圾回收GC触发条件详解
Apr 24 Golang
go原生库的中bytes.Buffer用法
Apr 25 Golang
解决golang结构体tag编译错误的问题
May 02 Golang
浅谈golang 中time.After释放的问题
May 05 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
基于Go语言构建RESTful API服务
Jul 25 Golang
golang内置函数len的小技巧
Jul 25 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
Golang 1.18 多模块Multi-Module工作区模式的新特性
Apr 11 Golang
golang生成并解析JSON
Apr 14 Golang
深入理解 Golang 的字符串
May 04 Golang
详解Go语言中Get/Post请求测试
Jun 01 Golang
详解Go语言Slice作为函数参数的使用
Jul 02 #Golang
golang 实用库gotable的具体使用
Jul 01 #Golang
试了下Golang实现try catch的方法
Jul 01 #Golang
Golang 语言控制并发 Goroutine的方法
Jun 30 #Golang
Golang的继承模拟实例
Jun 30 #Golang
go select编译期的优化处理逻辑使用场景分析
Go 语言下基于Redis分布式锁的实现方式
Jun 28 #Golang
You might like
一个PHP分页类的代码
2011/05/18 PHP
PHP 图片上传代码
2011/09/13 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
phpStorm2020 注册码
2020/09/17 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
javascript数组去掉重复
2011/05/12 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
使用pip安装python库的多种方式
2019/07/31 Python
超实用的 30 段 Python 案例
2019/10/10 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
python操作redis数据库的三种方法
2020/09/10 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
小学英语复习计划
2015/01/19 职场文书
出纳岗位职责
2015/01/31 职场文书
少年犯观后感
2015/06/11 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python