Go语言简介与详细安装教程

本文介绍了Go语言的基本概念、用途、主要特性和详细安装步骤。Go语言以其简洁、快速、安全的特性受到青睐,尤其适用于云项目和高性能分布式系统。文中详细讲解了Go的垃圾回收、goroutine并发机制、多返回值等功能,并提供了Linux和Windows的安装教程,以及PyCharm和VSCode的开发环境搭建方法。此外,还介绍了Go语言的编译流程和插件安装问题的解决方案。
摘要由CSDN通过智能技术生成

提到Go语言渴望能很多人会觉得很陌生,就像Scala语言一样,是个小众语言,不被广泛认知,其实现在世界上有很多的机器语言,如果让我们都去一一掌握的话也不现实,毕竟人的时间和经历有限。前面也和大家聊过几种语言,比如Scala、python,C、C++等等。。。Java就不多说了,这几种语言都各自有各自的优劣,所以今天iuhe大家说下另一种语言Golang。

Go语言介绍

起初,Golang创造出来是为了来取代C++。最终,虽然不能如愿对C++取而代之,但是其近C的执行性能和近解析型语言的开发效率以及近乎于完美的编译速度,已经风靡全球。特别是在云项目中,大部分都使用了Golang来开发,不得不说,Golang早已深入人心。而对于一个没有历史负担的新项目,Golang或许就是个不二的选择。

很多人将GO语言称为21世纪的C语言,因为GO不仅拥有C的简洁和性能,而且还很好的提供了21世纪互联网环境下服务端开发的各种实用特性,让开发者在语言级别就可以方便的得到自己想要的东西。

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

Go 语言用途

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

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

Go语言特性

  • 简洁、快速、安全
  • 并行、有趣、开源
  • 内存管理、数组安全、编译迅速
1. 垃圾回收
  • 内存自动回收,再也不需要开发人员管理内存
  • 开发人员专注业务实现,不用分心兼顾其它
  • 只需要new分配内存,不需要释放
2. goroute天然并发
  • 从语言层面支持并发,非常简单;
    使用一个go则在编译时会自动开启一个线程来执行后面的命令/函数/方法,不用像python需要先调用thread模块来开启线程
  • goroute,轻量级线程,创建成千上万个goroute成为可能
  • 基于CSP(Communicating Sequential Process)模型实现
3. goroute线程之间的数据通信——管道。

使用go可以创建一个轻量级的goroute线程,线程之间如何通信,共享数据呢?答案是:使用管道来进行通信。

管道需要定义并创建后,才能使用.

举例:

定义一个管道:

var my_pipe chan int
//my_pipe为管道名,chan为管道关键字表示定义的是一个管道,int表示管道内存储的数据类型

创建一个管道:

my_pipe = make(chan int,10)
//make关键字表示开辟一个内存空间,第一个参数表示创建一个管道,10表示管道能存储的数据类型个数,如果超出则阻塞

或者定义和创建合并写:

my_pipe := make(chan int,10)

管道示例:

func main() {
   

      go pi_pie()

}

func pi_pie() {
   
  pipe := make(chan int, 10) //make关键字创建一个管道(关键字chan),管道内装int类型的数据,并且管道大小能装10个数字,超过则阻塞
  pipe <- 10               //向管道内放入数据
  pipe <- 9
  pipe <- 9
  pipe <- 7
  pipe <- 6
    
  var p1 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值