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 相关文章推荐
golang 生成对应的数据表struct定义操作
Apr 28 Golang
Go 实现英尺和米的简单单位换算方式
Apr 29 Golang
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
May 05 Golang
使用golang编写一个并发工作队列
May 08 Golang
go xorm框架的使用
May 22 Golang
golang中字符串MD5生成方式总结
Jul 04 Golang
golang 语言中错误处理机制
Aug 30 Golang
Golang表示枚举类型的详细讲解
Sep 04 Golang
Golang 1.18 多模块Multi-Module工作区模式的新特性
Apr 11 Golang
Go语言grpc和protobuf
Apr 13 Golang
Go获取两个时区的时间差
Apr 20 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数据采集的详解
2013/06/02 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
提高网站信任度的技巧
2008/10/17 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
layui 解决富文本框form表单提交为空的问题
2019/10/26 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python3.7 的新特性详解
2019/07/25 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
HTML5之语义标签介绍
2016/07/07 HTML / CSS
中国宠物用品商城:E宠商城
2016/08/27 全球购物
联想台湾官网:Lenovo TW
2018/05/09 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
中医药大学市场营销专业自荐信
2013/09/29 职场文书
管理心得体会
2013/12/28 职场文书
新年寄语大全
2014/04/12 职场文书
赞美教师的句子
2019/09/02 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
Mybatis是这样防止sql注入的
2021/12/06 Java/Android