【Go语言开发】Go Tickers 教程
在本教程中,我们将研究 Go 中的代码以及如何在自己的 Go 应用程序中有效地使用代码。
当您需要在给定的时间间隔内重复执行某项操作时,Tickers 非常有用,我们可以将 Tickers 与 goroutines 结合使用,以便在我们的应用程序后台运行这些任务。
行情(Tickers )与计时器
在我们深入研究之前,了解代码和计时器之间的区别很有用。
- Tickers - 这些非常适合重复任务
- 计时器(
Timers
) - 这些用于一次性任务
一个简单的例子
让我们从一个非常简单的开始,我们每隔 5 秒重复运行一个简单的 fmt.Println 语句。
main.go
【Go语言高级开发】Golang Goroutines 的并发性
现在,Go 是一种令人难以置信的高性能语言,它具有许多强大的功能,可让您构建令人难以置信的快速应用程序。通过为我们提供这些 goroutine 和通道,它重新定义了构建并发程序的意义。
使用 goroutine 是一种非常快速的方法,可以将顺序程序转换为并发程序,而无需担心创建线程或线程池之类的事情。但是,与所有并发编程一样,这会带来一些危险,在你跑来跑去在所有函数调用前面加上 go 关键字之前必须考虑这些危险。
在本教程中,我们将研究如何在基于 Go 的程序中使用 goroutine,并随后提高程序执行的性能。
目标
在本教程结束时,您应该:
- 对 goroutine 是什么以及如何使用它们来提高应用程序的性能有深入的了解
- 知道如何创建和使用匿名 goroutine。
- 了解使您的应用程序并发的一些危险。
视频教程
如果您愿意,本教程还提供视频格式。如果您想支持我的工作,请考虑喜欢并订阅我的 YouTube 频道。
https://youtu.be/ARHXmR0_MGY
【Go语言开发】如何在 CentOS 7 上安装 Go 1.7
介绍
Go,通常被称为golang,是谷歌开发的一种开源编程语言。它采用极简主义的开发方法,可以轻松构建简单、可靠和高效的软件。本教程将指导您下载和安装 Go 1.7,以及编译和执行基本的“Hello, World!”。程序,在 CentOS 7 服务器上。
先决条件
在学习本教程之前,请确保您有一个具有 sudo 权限的常规非 root 用户。您可以从我们的指南 How To Create a Sudo User on CentOS 中了解有关如何设置具有这些权限的用户的更多信息。
第 1 步 – 下载 Go
截至 2016 年 9 月,CentOS 默认存储库中的 golang 软件包不是最新的。因此,我们将直接从 Go 网站手动下载包。确保复制与 64 位架构兼容的最新版本的链接。
首先进入一个可写目录:
cd /tmp
使用 curl 命令和 Go 中的链接下载 tarball:
【Go语言开发】如何在 macOS 上安装 Go 并设置本地编程环境
介绍
Go 是一种在谷歌受挫后诞生的编程语言。开发人员不断地不得不选择一种执行效率高但编译时间长的语言,或者选择一种易于编程但在生产中运行效率低下的语言。 Go 被设计为同时提供所有这三个功能:快速编译、易于编程和生产中的高效执行。
虽然 Go 是一种通用的编程语言,可用于许多不同的编程项目,但它特别适合网络/分布式系统程序,并赢得了“云语言”的美誉。它专注于帮助现代程序员使用一组强大的工具完成更多工作,通过使格式成为语言规范的一部分来消除对格式的争论,以及通过编译为单个二进制文件来简化部署。 Go 易于学习,关键字非常少,这使其成为初学者和经验丰富的开发人员的绝佳选择。
本教程将指导您在本地 macOS 机器上安装 Go 并通过命令行设置编程工作区。
先决条件
您将需要一台具有管理访问权限且连接到 Internet 的 macOS 计算机。
【Go语言开发】如何在 Windows 10 上安装 Go 并设置本地编程环境
介绍
Go 是一种在谷歌受挫后诞生的编程语言。开发人员不断地不得不选择一种执行效率高但编译时间长的语言,或者选择一种易于编程但在生产中运行效率低下的语言。 Go 被设计为同时提供所有这三个功能:快速编译、易于编程和生产中的高效执行。
虽然 Go 是一种通用的编程语言,可用于许多不同的编程项目,但它特别适合网络/分布式系统程序,并赢得了“云语言”的美誉。它专注于帮助现代程序员使用一组强大的工具完成更多工作,通过使格式成为语言规范的一部分来消除对格式的争论,以及通过编译为单个二进制文件来简化部署。 Go 易于学习,关键字非常少,这使其成为初学者和经验丰富的开发人员的绝佳选择。
本教程将指导您在本地 Windows 10 机器上安装 Go 并通过命令行设置编程环境。
先决条件
【Go语言开发】如何在 Ubuntu 20.04 上安装 Go
介绍
Go,有时也被称为“Golang”,是谷歌于 2012 年发布的一种开源编程语言。谷歌的目的是创建一种可以快速学习的编程语言。
自发布以来,Go 在开发人员中非常流行,并被用于从云或服务器端应用程序到人工智能和机器人技术的各种应用程序。本教程概述了如何在 Ubuntu 20.04 服务器上下载和安装最新版本的 Go(当前版本 1.16.7),构建著名的 Hello, World!应用程序,并将您的 Go 代码转换为可执行的二进制文件以供将来使用。
先决条件
本教程需要一个 Ubuntu 20.04 系统,该系统配置有具有 sudo 权限的非 root 用户和防火墙,如使用 Ubuntu 20.04 的初始服务器设置中所述。
第 1 步 — 安装 Go
在此步骤中,您将在服务器上安装 Go。
首先,通过 ssh 连接到您的 Ubuntu 服务器:
ssh sammy@your_server_ip
接下来,导航到 Web 浏览器中的官方 Go 下载页面。从那里复制当前二进制版本的 tarball 的 URL。
【Go语言开发】理解 Go 中的数据类型
介绍
数据类型指定在编写程序时特定变量将存储的值的种类。数据类型还决定了可以对数据执行哪些操作。
在本文中,我们将介绍 Go 原生的重要数据类型。这不是对数据类型的详尽调查,但会帮助您熟悉 Go 中可用的选项。了解一些基本数据类型将使您能够编写更清晰、高效执行的代码。
背景
考虑数据类型的一种方法是考虑我们在现实世界中使用的不同类型的数据。现实世界中的数据示例是数字:例如,我们可以使用整数(0、1、2、...)、整数(...、-1、0、1、...)和无理数(π)。
通常,在数学中,我们可以组合不同类型的数字,并得到某种答案。我们可能想在 π 上加 5,例如:
5 + π
我们可以保留等式作为解决无理数的答案,或者将 π 舍入为一个小数位数缩写的数字,然后将这些数字相加:
5 + π = 5 + 3.14 = 8.14
但是,如果我们开始尝试用另一种数据类型(例如单词)来评估数字,事情就变得不那么有意义了。我们将如何求解以下方程?
【Go语言开发】在 Go 中使用字符串的介绍
在 Go 中使用字符串的介绍
字符串是一个或多个字符(字母、数字、符号)的序列,可以是常量或变量。由 Unicode 组成的字符串是不可变的序列,这意味着它们是不变的。
因为文本是我们在日常生活中使用的一种常见的数据形式,所以字符串数据类型是编程的一个非常重要的构建块。
本 Go 教程将介绍如何创建和打印字符串、如何连接和复制字符串以及如何将字符串存储在变量中。
字符串文字
在 Go 中,字符串存在于反引号 `(有时称为反引号)或双引号内。根据您使用的引号,字符串将具有不同的特征。
使用反引号,如` ```bar``` `,将创建一个原始字符串文字。在原始字符串文字中,任何字符都可以出现在引号之间,反引号除外。这是一个原始字符串文字的示例:
`Say "hello" to Go!`
反斜杠在原始字符串文字中没有特殊含义。例如,\n 将显示为实际字符、反斜杠 \ 和字母 n。与解释的字符串文字不同,其中 \n 将插入一个实际的新行。
原始字符串文字也可用于创建多行字符串:
【Go语言开发】如何在 Go 中格式化字符串
由于字符串通常由书面文本组成,因此在许多情况下,我们可能希望通过标点符号、换行符和缩进更好地控制字符串的外观,以使它们对人类更具可读性。
在本教程中,我们将介绍一些使用 Go 字符串的方法,以确保所有输出文本的格式正确。
字符串文字
让我们首先区分字符串文字和字符串值。字符串文字是我们在计算机程序的源代码中看到的,包括引号。当我们调用 fmt.Println 函数并运行程序时,我们会看到一个字符串值。
在“你好,世界!”程序,字符串文字是“你好,世界!”而字符串值为 Hello, World!不带引号。字符串值是我们在运行 Go 程序时在终端窗口中看到的输出。
但是某些字符串值可能需要包含引号,例如当我们引用源时。因为字符串字面量和字符串值不等价,所以通常需要为字符串字面量添加额外的格式,以确保字符串值按照我们想要的方式显示。
引号
因为我们可以在 Go 中使用反引号 (`) 或双引号 ("),所以通过在由反引号括起来的字符串中使用双引号来在字符串中嵌入引号很简单:
`Sammy says, "Hello!"`
或者,要使用反引号,您可以将字符串括在双引号中:
【Go语言开发】如何在 Go 中定义和调用函数
介绍
函数是一段代码,一旦定义,就可以重用。函数用于通过将代码分解为可在整个程序中多次使用的小型、可理解的任务来使您的代码更易于理解。
Go 附带了一个强大的标准库,其中包含许多预定义的函数。您可能已经从 fmt 包中熟悉的是:
- fmt.Println() 会将对象打印到标准输出(很可能是您的终端)。
- fmt.Printf() 这将允许您格式化打印输出。
函数名称包括括号,并且可能包括参数。
在本教程中,我们将介绍如何定义您自己的函数以在您的编码项目中使用。
定义函数
让我们从经典的“Hello, World!”开始。程序化成一个函数。
我们将在我们选择的文本编辑器中创建一个新的文本文件,并调用程序 hello.go。然后,我们将定义函数。
函数是使用 func 关键字定义的。然后是您选择的名称和一组括号,其中包含函数将采用的任何参数(它们可以为空)。函数代码行用大括号 {} 括起来。
在这种情况下,我们将定义一个名为 hello() 的函数:
hello.go