本文大纲如下:

  • 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 mainimport "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 mainimport "fmt"func BinarySearch(a []int, v int) int {n := len(a)if n == 0 {return -1}low := 0; high := n - 1for low <= high {mid := (low + high) >> 1if 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))
}

后记


由于作者水平有限, 欢迎大家能够反馈指正文章中错误不正确的地方, 感谢

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

  1. 疫情当下,你是在家里躺着刷抖音?还是在做这些?

    2020年本来可以是很开心的一年 没想到一开头就给了我们一个重重的一击 疫情的出现让我们非常的恐慌 新型病毒肺炎让我们无处可躲 原来热闹的新年因为疫情让我们逼不得已只能待在家里 走亲访友更是不可能的 ...

  2. 在刷抖音的时候发了一个评论 ,但是App界面没有显示出来,如何排查这个问题?(软件测试面试高频)

    1.检查网络问题 网络问题如何进行分析,举个例子.在我们使用的多种多样的软件当中,经常会有网卡导致页面停顿反应慢的时候.那么软件测试面试的被问得到的时候应该如何去解析呢?根据这个我们所了解的这个功能实 ...

  3. 真香!刷抖音的利器,送一个!

    为了感谢大家对本公众号的大力支持,本次联合其他号主,送一部华为荣耀平板电脑! 最后感谢粉丝们一直支持我,希望这次送礼物能给你带来好运! 赠送规则 本次活动联合了其他 9 个号主一起赞助,共同送华为荣耀 ...

  4. 渗透分支写脚本_抖音文案怎么写吸引人?最新文案创作技巧分享(赠文案脚本模板)...

    本文为你解析:抖音文案怎么写.抖音文案脚本.抖音文案素材.抖音文案写作技巧等相关内容.抖音文案怎么写今天,抖音作为一种消遣娱乐的方式,已经渗透并改变了我们的生活,无聊的时候刷一刷抖音,仿佛成为了最正常 ...

  5. 如何在Linux系统上刷抖音

    自从抖音出了网页版 很多小伙伴,上班刷起来了 今天,写一篇教大家如何使用linux刷抖音 抖音入驻PC端之后,其实就是一个终端的网站页面 看看我们如何在Linux端, 完成搜索.截图.访问网页等等功能 ...

  6. Python骚操作—自动刷抖音

    python骚操作之电脑自动刷抖音 上篇文章发完之后,有朋友在后台留言给我,说手机自动化控制很炫酷,但是appium的安装和使用很复杂,想让我写一篇详细文章介绍一下,下面我就以自动刷抖音为例简单介绍一 ...

  7. 自动刷抖音极速版得红包金币(APP实现)

    上回我们用python实现了自动刷抖音的功能(https://blog.csdn.net/u012539700/article/details/100058939),这回我们用android app的 ...

  8. 解放双手,自动刷抖音

    起因 因为项目需要,最近在学习appium自动化,学习中很枯燥无味,想做点能激起兴趣的事情,正好平时喜欢刷抖音,想一想能不能解放双手自动刷抖音呢,有想法咱们就行动起来,搞.搞.搞 (ps:代码很简单, ...

  9. 如何结合爬虫与自动化,帮助小姐姐刷抖音完全解放掉双手

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:星安果 AirPython PS:如有需要Python学习资料的小伙 ...

  10. 一起刷抖音?“社交”与“内容”碰撞产生的火花

    不知道大家在平时刷抖音时有没有发现一个隐藏彩蛋"一起看视频"? 这是个怎样的功能呢?简单来说,就是可以创建一个通话房间,房间里最多有6个人一起刷抖音,可实时聊天或文字互动,还支持互 ...

最新文章

  1. Windows10~VS2019~OpenCV3.4.6配置
  2. java使用eclipse打jar包_Eclipse对Java项目打Jar包
  3. kafka是单独的进城吗_【土地使用权】出现这些情况,您真的知道怎么办吗?
  4. PyCharm 3.0 发布,提供免费开源版本
  5. Echarts后台option对象
  6. c语言学习笔记 关于double
  7. Ajax Accordion(可折叠) 动态生成菜单
  8. 安装了silverlight还是提示_苹果手机的微信提示音也能改,公司小姐姐都来向我请教...
  9. (Django开发)免费HTML模板资源集合
  10. 员工转正述职答辩问什么问题_实习期员工转正述职报告
  11. python函数长度单位换算_长度单位换算表-在线长度单位转换器
  12. 【JAVA高级技术】Java 处理结构化数据多种解决方案
  13. python 二项分布_Python模拟伯努利试验和二项分布代码实例
  14. ASP.NET 安全认证(三)
  15. 神州优车联合体斥资近40亿控股宝沃 建立联合营销工作小组
  16. 基于Java的亚马逊“手机”评论爬虫的情感分类分析
  17. 2022数据库系统工程师 下午 试题三 真题答案
  18. 基于springboot的文件上传功能的实现
  19. Pytorch版本代码修正
  20. Tomcat框架学习

热门文章

  1. python当前时间获取_python 当前时间获取方法
  2. SQL 当天在当月、当季度、当年的时间进度
  3. 经纬度转换 gcj02转wgs84
  4. mysql中的去除空格函数
  5. 23位子网掩码是多少_无敌子网掩码(IP地址)计算方法(完全心算法)
  6. 【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
  7. 微信小程序如何和服务器交互,微信小程序数据库交互应该如何实现?
  8. 微信小程序添加服务器域名
  9. Unity3D Shader系列之Compute Shader基础及图像灰度化
  10. Winodws10 system进程占用磁盘100%