侧边栏壁纸
博主头像
码森林博主等级

一起走进码森林,享受编程的乐趣,发现科技的魅力,创造智能的未来!

  • 累计撰写 146 篇文章
  • 累计创建 74 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

golang 旅程(1):介绍与安装

码森林
2022-06-10 / 0 评论 / 0 点赞 / 542 阅读 / 1,940 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-06-10,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

用更少的代码,更短的编译时间,创建运行更快的程序,享受更多的乐趣。

Golang 介绍

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

目的是为了解决:

  • 现有主流编程语言"明显落后于硬件发展速度的问题
  • 不能合理利用多核CPU的优势提升软件系统性能的问题
  • 软件复杂度越来越高, 维护成本也越来越高的问题
  • 企业开发中不得不在快速开发和性能之间艰难抉择的问题

为什么学 Golang

Go 的优势

  • 简单易学:由于 Go 的语法在某种程度上类似于 C 语言,因此很容易掌握,特别是对于 C 风格或 Java 程序员。免费开源,教程全面。

  • 高效开发:多种赋值、数据结构、指针、格式化以及内置的 HTTP 库等能使给开发者提供快速着手开发。

  • 快速编译:Go 的编译速度要比绝大多数语言都要快,比 Java 和 C++ 快 5 至 6 倍,比 Scala 快 10 倍 。

  • 性能优越:Go 极其地快,其性能与 Java 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍。

  • 内存管理:内置runtime,支持垃圾回收。

  • 并发支持:使用其他编程语言(例如 Python、Java 等)创建多线程应用程序很困难,因为它们经常遭受性能问题,并发执行、线程锁定、竞争条件和死锁的困扰。在开发 Go 时,具有 goroutines 的概念,它是 Go 运行时管理的轻量级线程。它具有可扩展的分段堆栈,这意味着它将仅在需要时使用更多内存。Goroutines 具有内置原语,可在通道之间安全通信。共享数据结构时,它使您不必再求助于互斥锁。

  • 丰富的标准类库:Go目前已经内置了大量的库,特别是网络库非常强大。

  • 规范统一:GOFMT,强制代码格式,Gofmt 用一种官方的形式规格代码,避免了不必要的讨论。

  • Go 具备稳定的生态系统:Go 有着强大的工具支持,面向 Redis、RabbitMQ、PostgreSQL、Template parsing、Task scheduling、Expression parsing 和 RocksDB 的稳定的库。

最重要的是技多不压身,提大自己的技术广度~

Go 适合做什么

  • 服务器编程,以前你如果使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
  • 分布式系统,数据库代理器等。
  • 网络编程,这一块目前应用最广,包括 Web 应用、API 应用、下载应用。
  • 内存数据库,前一段时间 google 开发的 groupcache,couchbase 的部分组建。
  • 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。

安装

首先到 Go 语言官网下载对应版本的安装包(https://golang.google.cn/dl)

Linux

  1. 通过删除 /usr/local/go 文件夹(如果存在)来 删除任何以前的 Go 安装,然后将刚刚下载的存档解压缩到 /usr/local,在 /usr/local/go 中创建一个新的 Go 目录:

    $ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz
    

    (您可能需要以 root 身份或通过 运行该命令sudo)。

    不要将存档解压缩到现有的 /usr/local/go 目录中。众所周知,这会产生损坏的 Go 安装。

  2. 将 /usr/local/go/bin 添加到

    PATH
    

    环境变量中。

    您可以通过将以下行添加到您的 $HOME/.profile 或 /etc/profile (用于系统范围的安装)来做到这一点:

    导出 PATH=$PATH:/usr/local/go/bin
    

    **注意:**对配置文件所做的更改可能要等到您下次登录计算机时才会生效。要立即应用更改,只需直接运行 shell 命令或使用诸如 source $HOME/.profile.

  3. 通过打开命令提示符并键入以下命令来验证您是否已安装 Go:

    go version
    
  4. 确认该命令打印已安装的 Go 版本。

Mac

  1. 打开你下载的包文件,按照提示安装Go。

    该软件包将 Go 发行版安装到 /usr/local/go。该软件包应将 /usr/local/go/bin 目录放在您的 PATH环境变量中。您可能需要重新启动任何打开的终端会话才能使更改生效。

  2. 通过打开命令提示符并键入以下命令来验证您是否已安装 Go:

    go version
    
  3. 确认该命令打印已安装的 Go 版本。

Windows

  1. 打开您下载的 MSI 文件并按照提示安装 Go。

    默认情况下,安装程序将安装 GoProgram FilesProgram Files (x86). 您可以根据需要更改位置。安装后,您需要关闭并重新打开所有打开的命令提示符,以便安装程序对环境所做的更改反映在命令提示符中。

  2. 验证您是否已安装 Go。

    1. Windows中,单击开始菜单。

    2. 在菜单的搜索框中,键入cmd,然后按 Enter键。

    3. 在出现的命令提示符窗口中,键入以下命令:

      go version
      
    4. 确认该命令打印已安装的 Go 版本。

    开发工具

    常用的Go开发工具如下所示:

    • Visual Studio Code
      微软的产品,一个运行于Mac OS、Windows和Linux之上的工具,默认提供G语言的语法高亮。安装Go语言插件,还可以支持智能提示,编译运行等功能。
    • Sublime Text
      可以免费试用,默认也支持Go代码语法高亮,只是保存次数达到一定数量后需要购买。
    • Vim
      它是从vi(Linux)发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能非常丰富。
    • Emacs
      它不仅仅是一个编辑器,因为功能强大,可称为集成开发环境。
    • Eclipse IDE工具
      开源免费,并提供GoEclipse插件。
    • LiteIDE
      LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),是国人开发的。
    • JetBrains公司的产品
      Goland、PhpStrom、WebStrom和PyCharm等IDE工具,都需要安装Go插件。

    Hello World

    作者使用的开发工具是 Goland。

    1、创建项目

    创建一个 go 项目,命名为 go-learn:

    image-20220610161605425

    2、编写 helloworld

    package main  // 入口程序 package 必须为 main,否则运行不了
    
    import "fmt"
    
    func main()  {
    	fmt.Println("hello world!!!")
    }
    

    3、运行程序

    在控制台运行如下:

    wangchaodeMacBook-Pro-2:go-learn charlie$ go run helloworld.go
    hello world!!!
    

    小结

    本节主要学习了 golang 的基本介绍, 语言的优势,用它能做什么,如何安装以及第一个程序 helloworld。

    即将进入 golang 旅程~

0

评论区