在Go语言官网找到对应的安装包(https://golang.google.cn/dl/)。提示:阅读本节需要对 Linux 系统及常用的命令有一定的了解,感兴趣的读者可以通过阅读《Linux入门教程》来了解更多 Linux 相关的知识。注意:开发包有 32 位和 64 位两个版本,需要根据读者电脑的情况选择不同的版本。接下来以Ubuntu系统为例教大家一步步的完成安装过程。安装Go语言开发包首先...
下载Go语言开发包在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示。这里我们下载的是 64 位的开发包,如果读者的电脑是 32 位系统的话,则需要下载 32 位的开发包,在上图所示页面中向下滚动即可找到 32 位开发包的下载地址,如下图所示。注意:下载 Windows 版本的Go语言开发包时尽量选择 MSI 格式,因...
Go语言语法类似于C语言,因此熟悉C语言及其派生语言(C++、C#、Objective-C 等)的人都会迅速熟悉这门语言。1) 去掉循环冗余括号Go语言在众多大师的丰富实战经验的基础上诞生,去除了C语言语法中一些冗余、烦琐的部分。下面的代码是C语言的数值循环:// C语言的for数值循环for(int a = 0;a<10;a++){ // 循环代码}在Go语言中,这样的循环变为:fo...
Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于需要很多程序员一起开发,并且开发周期较长的大型软件和支持云计算的网络服务。Go语言融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性,不仅提高了项目的开发速度,而且后期维护起来也非常轻松。鉴于Go语言的特点和设计的初衷,从以下几个方面来分析Go语言擅长的领域:在服务器编程方面,Go语言适合处理日志、数据打包、虚拟机处理、文...
Go语言是谷歌在 2009 年发布的一款编程语言,自面世以来它以高效的开发效率和完美的运行速度迅速风靡全球,被誉为“21 世纪的C语言”。现在越来越多的公司开始使用Go语言开发自己的服务,同时也诞生了很多使用Go语言开发的服务和应用,比如Docker、k8s 等,下面我们来看一下,有哪些大公司在使用Go语言。1) Google作为创造了Go语言的 google 公司,当然会力挺Go语言了。Goog...
使用Go语言开发的开源项目非常多。早期的Go语言开源项目只是通过Go语言与传统项目进行C语言库绑定实现,例如Qt、Sqlite 等;后期的很多项目都使用Go语言进行重新原生实现。下面列举的是原生使用Go语言进行开发的部分项目。1)DockerDocker 是一种操作系统层面的虚拟化技术,可以在操作系统和应用程序之间进行隔离,也可以称之为容器。Docker 可以在一台物理服务器上快速运行一个或多个实...
为什么需要依赖管理最初的时候Go语言所依赖的所有的第三方包都放在 GOPATH 目录下面,这就导致了同一个包只能保存一个版本的代码,如果不同的项目依赖同一个第三方的包的不同版本,应该怎么解决呢?godepgodep 是一个Go语言官方提供的通过 vender 模式来管理第三方依赖的工具,类似的还有由社区维护的准官方包管理工具 dep。Go语言从 1.5 版本开始开始引入 vendor 模式,如果项...
我们前面讲搭建Go语言开发环境时提到的环境变量 GOPATH,项目的构建主要是靠它来实现的。这么说吧,如果想要构建一个项目,就需要将这个项目的目录添加到 GOPATH 中,多个项目之间可以使用;分隔。如果不配置 GOPATH,即使处于同一目录,代码之间也无法通过绝对路径相互调用。目录结构一个Go语言项目的目录一般包含以下三个子目录:src 目录:放置项目和库的源文件;pkg 目录:放置编译后生成的...
Go语言是一门需要编译才能运行的编程语言,也就说代码在运行之前需要通过编译器生成二进制机器码,随后二进制文件才能在目标机器上运行,如果我们想要了解Go语言的实现原理,理解它的编译过程就是一个没有办法绕过的事情。预备知识想要深入了解Go语言的编译过程,需要提前了解一下编译过程中涉及的一些术语和专业知识。这些知识其实在我们的日常工作和学习中比较难用到,但是对于理解编译的过程和原理还是非常重要的。1) ...
在Go语言的安装文件里包含了一些可以直接使用的包,即标准库。Go语言的标准库(通常被称为语言自带的电池),提供了清晰的构建模块和公共接口,包含 I/O 操作、文本处理、图像、密码学、网络和分布式应用程序等,并支持许多标准化的文件格式和编解码协议。在 Windows 下,标准库的位置在Go语言根目录下的子目录 pkg\windows_amd64 中;在Linux下,标准库在Go语言根目录下的子目录 ...
您还未登录,请登录后再进行相关操作!