快学 Go 语言 第 1 课 —— Hello World

各种编程语言的hello,world!(50种) 当我们学习一门新的语言时,“Hello, World!“通常是我们所写的第一个程序。相信作为一名程序员的你,职业生涯中至少完成了一个“Hello, World!“程序。程序员一般也都会使用多门语言,甚至有多数人都会使用十几种语言。甚至有一个名为TTHW的指标来衡量一个程序员接触一门新的编程语言时,成功写出“Hello, World!“并运行所需要的时间。然而,如果我问你,你会用多少种编程语言写“Hello, World!你的答案会是多少?为了刷新你的记忆,我会带你经历一段计算机编程领域的时空之旅。 阅读详情

Go 语言的 Logo

最初 Go 语言的 Logo 是一只可爱的土拨鼠,土拨鼠昼伏夜出的习性让它显得很有 Geek 范。土拨鼠的行动其实并不敏捷,不过它繁殖能力很强,生长发育的很快。

640?wx_fmt=png

到了 2018年,Go 语言重新制定了 Logo,消灭了土拨鼠,取而代之的是纯文字。这好像是在告诉用户 Go 语言不再是一个玩具语言,而是一个严肃的高效的正式语言。

640?wx_fmt=png

不过这个新 Logo 不是很受欢迎,它虽然给人一种快速的感觉,但是也显得很极为古板。到目前为止,你在 Google 图片里搜索 Golang Logo,铺天盖地的还是土拨鼠的形象。

Go 语言的「元团队」

很多著名的计算机语言都是那么一两个人业余时间捣鼓出来的,但是 Go 语言是 Google 养着一帮团队打造出来的。这个团队非常豪华,它被称之为 Go Team,成员之一就有大名鼎鼎的 Unix 操作系统的创造者 Ken Thompson,C 语言就是他和已经过世的李奇一起发明的。

640?wx_fmt=png
图片

图中翘着二郎腿的谢顶老头就是 Ken Thompson,它参与 Go 项目时个人已经处于半退休状态 —— 年纪大了。有条件的读者可以看看 Youtube 上 Go Team 的访谈视频一睹大师们的风采,地址是 https://www.youtube.com/watch?v=sln-gJaURzk。

Hello World

学习任何一门语言的第一步是看它的 Hello World 程序怎么写。下面是 Go 语言的 Hello World

package main

import "fmt"

func main() {
  fmt.Println("hello world!")
}

$ go run main.go

hello world!

$ go build main.go

$ ./main
hello world!

我也想运行上面的 Hello World

有很多语言的初学者总要为开发环境发愁,不知道上面的 go 命令哪里来的,main.go 源码文件该放在哪里运行。下面我简单介绍一下 Go 语言开发环境的搭建。使用 Go 语言推荐使用 Mac 和 Linux 环境。搭建环境两步走,第一步安装,第二步设置 GOPATH 环境变量。

Mac 环境

使用 Mac 电脑的程序员一般都比较 Geek,安装开发类软件离不开 brew 命令。

$ brew install go

/usr/local/Cellar/go/1.10.3

$ go
Go is a tool for managing Go source code.

Usage:

    go command [arguments]
...

Linux 环境

Linux 环境的安装也很简单,使用下面这条指令在 ubuntu 下可以直接安装完成

$ apt-get install golang

$ yum install golang

Windows 环境

Windows 用户很悲催,需要下载 Go 语言的安装包,这很头疼,鉴于 Go 语言的官网被墙了,你需要代理穿越过去下载。如果你没有代理,那就使用搜索引擎找找非官方的下载包吧。这里我就不照顾你们了,建议你们使用虚拟机安装 Linux 吧。

设置 GOPATH 环境变量

Go 的开发包已经安装成功了,下面还需要设置一个重要的环境变量,这个环境变量就是 GOPATH,它指向一个目录,以后我们下载的第三方包和我们自己开发的程序代码包都要放在这个目录里面,它就是 Go 语言的工作目录。当你在源码里使用 import 语句导入一个包时,编译器都会来 GOPATH 目录下面寻找这个包。

Mac 和 Linux 用户的 GOPATH 通常都设置成 ~/go,也就是在 home 目录下建一个名为 go 的目录。将下面环境变量的设置命令追加到 ~/.bashrc 或者 ~/.zshrc 的文件末尾,然后重新打开命令行即可。

export GOPATH=~/go

在哪里写代码?

如果你只是跑一下 demo ,写一个 main 方法,那么你可以在任意路径编写 main.go 文件,然后执行 go run main.go 就可以运行代码了。如果你要自己编写一个 package,那么就必须在 GOPATH 里面的指定路径来编写代码。

在基础学习阶段,大部分代码都是一个简单的 main 函数,所以对于源码路径没有限制。到了高级阶段,我们免不了要自己编写 package,这时候就必须在 GOPATH 目录下面工作了。

读者请尝试在任意目录下创建 main.go 文件,将代码贴进去。执行 go run main.go 命令观察输出结果是否是期望的 hello world!。

用什么编辑器写代码?

推荐使用 vscode,如果你觉得自己是一个 GEEK,那也可以使用 vim。不过 vscode 也有 vim 插件,所以还是推荐读者使用 vscode 。

640?wx_fmt=png
图片

思考题

如果你觉得本节对 GOPATH 环境变量解释的很浅显,请使用下面的命令来阅读 GOPATH 的更多细节,很遗憾,是全英文,而且内容很长。如果你是初学者,还是建议你成为 Go 语言老鸟以后再来阅读这些细节。

$ go help gopath

下一节 我们开始讲解 Go 语言的基础变量类型。

640?wx_fmt=jpeg

阅读更多精彩文章,欢迎关注公众号「码洞」

50年前,Hello World发明者第一次提交的Go代码长这样…… 作为Unix的研发者与传奇代码“Hello World”的发明者,普林斯顿大学计算机科学系教授布莱恩·克尼汉(Brian W. Kernighan)是编程界的传奇人物。他曾参与创造了AMPL(数学编程语言)和AWK(文本处理工具),也曾和C语言之父丹尼斯·里奇(Dennis MacAlistair Ritchie)共同编写《C程序设计语言》(The C Programming Language)。 不仅如此,据调查,Brian W. Kern. 阅读详情

相关推荐

已解决-Parallels Desktop 16 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络

我是月球挖掘机,相信不少打工人为了尝鲜已经更新了MacOS 11 Big Sur,当然,苹果每次的系统大更新,都会给我们软件的功能无法使用惊喜,这次的也不例外。 这个问题是我在更新macOS Big Sur之后,Parallels Desktop打开虚拟机后,提示: 报错信息 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络 这是我的软件版本: 起初我以为是我的虚拟机坏了,结果重装了一遍虚拟机,没有任何用处。我开始在网上找方法,只能找到那个使用命令行打开软件的命令,除此之外没有了

月球挖掘机 5万+

DEMOGEN:文本驱动运动生成的分解-组合新范式

文本到运动生成是计算机视觉与图形学交叉领域的前沿技术,其核心在于将自然语言描述转化为物理合理的三维人体动作。传统方法难以处理复合动作描述,而新兴的分解-组合范式通过大型语言模型将复杂指令拆解为基本运动单元,显著提升了生成质量。DEMOGEN采用双通道处理架构,结合运动VAE与扩散模型,在HumanML3D数据集上实现了2.708的FID分数。该技术通过正交化损失和语义一致性损失的创新组合,使R-Precision指标提升至0.586,特别适用于虚拟角色动画、体育训练分析等需要高精度动作生成的场景。

weixin_33719619的博客 538

用HFSS仿真平面线圈的电感量

平面线圈是指在平面上绕制而成的线圈,如PCB上的电感线圈、无线供电使用的金属丝绕制而成的线圈等。根据线圈的不同形状可将平面线圈分为方形线圈,六角形线圈、八角形线圈、螺旋原型线圈等。

johnboat的专栏 1万+

go语言快速入门——helloworld程序

按照惯例,先来看一下hello,world程序。下面,我们需要对这个hello,world程序做一个基本的解释,首先是包,然后是函数。

zy010101博客 2860

Hi3516CV610开发板实战:从零搭建智能视觉监控系统

本文详细介绍了从零开始基于Hi3516CV610开发板搭建智能视觉监控系统的完整实战流程。涵盖硬件连接、系统配置、摄像头集成、网络设置、固件烧录到视频处理与智能分析功能开发,提供了丰富的实践经验和调试技巧,帮助开发者快速掌握嵌入式视觉系统开发。

vvv99的博客 565

ComfyUI+minimaxh3本地部署:漫剧分镜批量生成工作流全实操

视频生成模型正从云端API向本地化部署迁移,背后的技术逻辑是将扩散模型的文本编码、潜空间采样、VAE解码等阶段拆分为可编排的独立环节。ComfyUI作为节点化管线工具,恰好能以可视化连线方式管理这些阶段,让生成过程可控、可复用、可批量执行。minimaxh3模型支持本地推理,配合LoRA微调与参数优化,能够在保证角色一致性的前提下,从分镜脚本批量产出连续剧情片段,规避云端排队、成本高、素材不可控等工程问题。这套工作流广泛应用于漫剧、短剧和动态条漫的工业化生产,尤其适合需要高频迭代分镜草稿的内容团队。文本以零

weixin_29057065的博客 367

GO学习之Hello World(环境搭建)

行业的发展和技术更新换代的速度,驱使着我们不断的学习新的技术,作为以JAVA为主要吃饭工具的我,如今也不得不在周末花时间看看被 “江湖人” 称后面会是主要流行的 GO 语言。那想要入门一个新的语言,开头总归是经典款 Hello World!GO 语言是在2007年由三个大佬(Robert Griesemer, Rob Pike, Ken Thompson)主导开发,于2009年11月正式开源的一个开源编程语言,上面的这只可爱的地鼠就是GO语言的代言鼠。

qq_19283249的博客 2506

快速谱峭度算法解析

最近一直在研究振动信号的最优解调带宽寻找方法,而快速谱峭度算法是最常见的一种,因此本篇文章准备对该算法做个深入解析,也相当于自己的学习记录了。本篇文章对快速谱峭度算法做了一个较为详细的介绍,实际上就是通过多组滤波器将信号分解到不同的频段,再计算每个频段的峭度,从而找到值最大的频段,进一步地我们也可以选取其他指标作为频段的选择,以便更好地找到振动信号中的故障信息。

qq1234534215的博客 2743

【Golang开发入门】你真的会用Go写“Hello world“吗?

博主简介:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:数据结构、Go,Java等相关知识。博主主页:所属专栏:近期目标:写好专栏的每一篇文章。

Yaoyao2024的博客 2117

Pointnet++环境配置(Windows11和ubuntu)及训练教程

PS:前两行命令是数据处理的命令,主要是进行数据读取和生成相应的训练数据格式,在Ubuntu上是正常运行的,在Windows上运行会失败,无法生成训练用的数据格式,所以最好在Ubuntu上训练,如果一定要用Windows,可以ubuntu上生成数据格式在导到Windows上,数据生成不需要安装torch。通过anaconda配置的环境,在官网找的命令安装的,版本是2.1.0+cu118。训练命令:我使用的pycharm,直接在pycharm中打开终端,运行命令。Python版本:3.7。

AIcurator的博客 2558

汽车UDS诊断详解及Vector相关工具链使用说明——1.1 应用层协议整体介绍

本文我们先从整体的维度来介绍一下应用层协议,每个UDS服务都遵循本文中的协议。 一、SI(Service ID) SI是UDS指令的第一个字节,我们第一篇文章中提到的10等服务就是指这个服务的SI=0x10,它是服务的标识,每个服务的SI都是唯一的。 ...

weixin_42967006的博客 5476

Go语言基础(一)——HelloWorld

文章目录hello worldgo的运行区别: hello world package main //包名 import "fmt" //导入fmt库 func main(){ fmt.Println("hello world") } 由HelloWorld引出的go语言特性: Package 每个文件夹内仅能有一个package名,但是该名可以与文件夹名不同 每个应用程序应该有一个main package fmt 包含了标准输入输出的函数 func main 若未定义in

稷下学员的笔记博客 7141

【视频监控国标GB/T28181】无人机的视频图传技术

然而,随着无人机市场的不断发展和无人机视频图传技术的迅速进步,一些厂家正积极探索更多的传输方式。如今,一些大疆无人机已经具备了4G辅助图传功能,这意味着它们需要在无人机上安装相应的SIM卡,并在有移动互联网信号的情况下,通过互联网进行视频图传。这种技术的应用,不仅提高了无人机的操作灵活性,也使得无人机在各个领域的应用更加广泛。在使用时,用户需时刻注意无人机的飞行距离。在无人机图传系统中,OFDM技术的运用更是如虎添翼,显著增强了视频传输的品质与稳定性,尤其在错综复杂的电磁环境中,更能凸显其不可替代的优势。

开源物联网项目商业化作者 5664

一、Go 语言基础语法:Hello World 实例(涉及定义变量;常量;fmt 包、Print、Println、Printf、iota、const)

var变量名 类型表达式(类型可以不需要添加,自带类型推导)

阿澈不吃蒜的博客 492

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

《快学 Go 语言》第 1 课 —— Hello World

Go 语言的 Logo最初 Go 语言的 Logo 是一只可爱的土拨鼠,土拨鼠昼伏夜出的习性让它显得很有 Geek 范。土拨鼠的行动其实并不敏捷,不过它繁殖能力很强,生长...

codehole_的博客 209

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【Go之道】探索Go语言之旅:基础与进阶指南

Go语言是一门强大而简单的编程语言,适用于各种应用领域。无论你是初学者还是有经验的开发人员,Go都值得学习。希望这篇入门介绍可以帮助你开始学习Go,并探索其丰富的功能和库。祝你编程愉快!

颜淡慕潇 3万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Go语言编程笔记1:Hello World

Go语言编程笔记1:Hello World 图源:golang.google.cn 环境安装 Go语言的官网是https://golang.org/,遗憾的是因为某些不可抗力,是没法正常访问的。幸运的是Google提供了一个大陆地区特供版官网,提供一些下载等基本功能,其地址是https://golang.google.cn/dl/。 这里选择对应的版本即可。 具体的安装过程没啥可说的,相当的朴实无华,连个选项都没有,我几乎没有见过类似的程序语言环境安装包。 安装完后同样需要将安装目录加入环境变量Path

梦幻天空 1288

Golang极速入门课一,我与Golang初相见

Golang的不断普及,需求不断增加,也就迎来了Go语言生态环境的不太完善,尽管使用者仍然不是所有语言中最多的,但我相信Go语言的发展将在几年后或更短的时间迎来新的机遇,希望学习的你也能坚持下来。

猫轻王的博客 1418

C语言入门(1)——Hello World

C语言入门——Hello World 1. 第一个C语言程序:Hello World 开始的第一个程序是一个最简单的程序,也就是最经典的Hello World程序,它的功能为打印出Hello World。程序的内容非常简单,也是C语言编写程序的基本结构框架。 1.示例 1.创建文件hello.c vim hello.c 2.在hello.c下如下面代码,并保存。 #include <st...

Sunrise的博客 1万+

go语言之hello world

看到一篇新闻,莫名的想试一试被某些人推崇备至的go语言…… 1. 开发环境搭建 【当然可以直接安装已经编译好的二进制包,而且Ubuntu的傻瓜式安装很给力,这里给出的是Ubuntu中的编译步骤】 (1)安装 mercurial工具,为了获得hg命令; (2)设置环境变量GOROOT export GOROOT=~/Go 这里当然需要你新建一个Go目录用来作为存放源码的目

xiaohuan_study的专栏 999

Go语言Hello world(GOPATH和Go Module版)

本文是「vangoleo的Go语言学习笔记」系列文章之一。 官网: http://www.vangoleo.com/go/go-hello-world-02/ 往期回顾: Go语言入门-你好,Go语言 Go语言入门-Hello World(Go Playground版) 上一篇文章Go语言入门:Hello world中,我们在Golang Playground中体验了Go语言,编写...

weixin_45593854的博客 1293

【GO开发】MacOS上搭建GO的基础环境-Hello World

本文介绍了在Mac操作系统上搭建Go语言开发环境的方法。通过简单的步骤,你可以在Mac上开始Go语言的编程学习。接下来,你可以尝试编写更复杂的Go语言程序,探索其强大的功能。祝你在Go语言编程的道路上越走越远!

一个不断前行的程序者 2892

Golang入门之——Hello World

学习一种编程语言的最好方法就是去动手实践,编写代码。让我们开始编写第一个 Go 程序吧。我个人推荐使用安装了 Go 扩展的 Visual Studio Code 作为 IDE。它具有自动补全、编码规范(Code Styling)以及许多其他的特性。 建立 Go 工作区 在编写代码之前,我们首先应该建立 Go 的工作区(Workspace)。 在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 $HOME/go。所以我们要在 $HOME 目录下创建 go 目录。 而在 Windows 下,工作区应

肥叔菌的博客 1800
上一篇: 有些个别程序员的工作经历我实在是无法想象
下一篇: 快学 Go 语言第 2 课 —— 变量什么的最讨厌了
码洞
博客等级 码龄11年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值