躺在床上刷抖音,不如来写第一个 GO 程序入门篇

简介: 躺在床上刷抖音,不如来写第一个 GO 程序入门篇

本文大纲如下:

  • 1 安装 GO 环境

    • 1.1 下载安装包
    • 1.2 安装 GO
    • 1.3 验证安装
  • 2 编码 GO 程序

    • 2.1 IDE 开发软件安装
    • 2.2 创建 GO 项目
    • 2.3 二分查找算法
  • 3 后记

安装 GO 环境


下载安装包

访问 Go 国内镜像站 GO 下载页面,并在页面最上方的版本中选择你当前的系统版本,会下载最新版本的 Go 开发包

因为是国内的镜像站,下载速度不受限制,速度相当可以,飞一般的赶脚~

安装 GO

作者是 MacOS,相信 Windos 也差不太多,傻瓜式点点点

验证安装

安装大概需要消耗一分钟左右,安装成功会有如下提示

我们通过终端查看 GO 版本信息以及环境是否安装正确,终端输入 GO version

截止 2020-11-10 23:59 分最新的版本 go version go1.15.4 darwin/amd64

编码 GO 程序


IDE 开发软件安装

使用 GO 语言开发,绝大多数使用以下两款编辑器

一款是免费的 VSCode+Plugins

一款是收费的 JetBrains Goland

作者比较喜欢全家桶之一的 Goland,风格偏向简洁,并且功能强大

GoLand 下载地址,点击 DOWNLOAD 下载即可

悄咪咪说一声,软件一般都有 po jie 程序(全家桶皆可用),关注公众号后台回复「goland」领取软件

在 MacOS 上安装完成 GO 环境后,会自动设置一些环境变量

比如使用 GO env 命令在终端查看另外两个参数:GOPATH、GOROOT

  • GOPATH: 编写 GO 代码存放的目录(即使不在此目录也可以,相当于一个工作空间的概念)
  • GOROOT: GO 安装的路径

GOPATH 目录也可以 自己重定义,具体参考 MacOS 设置环境变量

创建 GO 项目

1)打开 GoLand 编辑器,选择 New Project 创建项目

2)Location 内容中 /User/single/go 是电脑 GO 环境代码存放目录,helloworld 是项目名称

GOROOT 选择电脑 GO 环境即可

3)右键项目名称,在 New 工具栏中选择创建 GO File

4)创建成功后,编写下方代码完成第一个 GO 程序 HelloWorld

图省事,复制粘贴也阔以~

package main

import "fmt"

func main() {
    fmt.Print("Hello World!")
}

5)右键选择 Run 开始运行程序,看到控制台输出 Hello World! 表示程序运行成功!

二分查找算法

二分查找也称折半查找(Binary Search),一种效率较高的查找方法

二分查找的核心思想是将 n 个元素分成 大致相等的两部分,取中间值 a[n/2] 与 x 做比较

如果 x=a[n/2],则找到 x,算法中止,如果 x<a[n/2],则只要在数组 a 的左半部分继续搜索 x,如果 x>a[n/2],则只要在数组 a 的右半部搜索 x

package main

import "fmt"

func BinarySearch(a []int, v int) int {
    n := len(a)
    if n == 0 {
        return -1
    }
    low := 0; high := n - 1
    for low <= high {
        mid := (low + high) >> 1
        if a[mid] == v {
            return mid
        } else if a[mid] > v {
            high = mid - 1
        } else {
            low = mid + 1
        }
    }
    return -1
}

func main() {
    arr := []int{1, 3, 7, 12, 17, 20, 30, 50, 55, 75}
    fmt.Print(BinarySearch(arr, 7))
}
相关文章
|
1月前
|
Linux 测试技术 编译器
在go程序中的交叉编译
【7月更文挑战第9天】本文介绍Go 交叉编译允许在一种平台上构建适用于多平台的二进制文件。`go build -cover`用于覆盖率分析,`-coverpkg`控制分析的包范围,生成的二进制文件运行后,覆盖率数据会写入`GOCOVERDIR`指定的目录。
104 14
在go程序中的交叉编译
|
2月前
|
存储 安全 测试技术
【Go语言精进之路】构建高效Go程序:了解map实现原理并高效使用
【Go语言精进之路】构建高效Go程序:了解map实现原理并高效使用
38 3
|
2月前
|
存储 监控 Go
【Go语言精进之路】构建高效Go程序:了解切片实现原理并高效使用
【Go语言精进之路】构建高效Go程序:了解切片实现原理并高效使用
43 3
|
4天前
|
Linux Shell Go
如何构建和安装 Go 程序
如何构建和安装 Go 程序
12 1
|
12天前
|
Shell Go
Go 语言Air 工具使用入门
在Go开发中,频繁的手动重启应用以加载新代码既耗时又低效。为此,我们引入了Air——一款专为Go项目设计的自动重载工具。Air通过监听文件变化,实现代码更改后的自动编译与运行,极大提升了开发效率。本文将指导你完成Air的安装与配置,包括如何启动Air、忽略临时文件以及理解其工作原理,让Go项目开发更加流畅高效。
|
11天前
|
Go
在Go中如何停止程序
在Go中如何停止程序
|
11天前
|
Go 数据库 UED
[go 面试] 同步与异步:程序执行方式的不同之处
[go 面试] 同步与异步:程序执行方式的不同之处
|
16天前
|
设计模式 Java 编译器
Go - 基于逃逸分析来提升程序性能
Go - 基于逃逸分析来提升程序性能
22 2
|
1月前
|
自然语言处理 算法 Go
理解在go程序的初始化顺序和MVS
【7月更文挑战第9天】本文介绍Go程序初始化顺序:按导入顺序执行`init()`,先变量定义、常量、再执行`init()`,最后`main()`. 运行时使用`GOCOVERDIR`保存覆盖率数据。
78 1
理解在go程序的初始化顺序和MVS
|
2月前
|
JSON 算法 测试技术
在go语言中调试程序
【6月更文挑战第29天】Go语言内置`testing`包支持单元测试、基准测试和模糊测试。`go test`命令可执行测试,如`-run`选择特定测试,`-bench`运行基准测试,`-fuzz`进行模糊测试。
46 2
在go语言中调试程序