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

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

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

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

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

相关推荐

50年前,Hello World发明者第一次提交的Go代码长这样……

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

开源精选 7662

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

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

weixin_33719619的博客 538

游戏开发中的AI与RAG技术应用实践

检索增强生成(RAG)技术是当前AI领域的重要突破,它通过结合信息检索与文本生成能力,显著提升了大型语言模型在专业领域的实用性。其核心原理是建立动态知识库,在生成响应前先检索相关专业资料作为上下文。这种技术特别适合解决游戏开发中的复杂问题,如虚幻引擎API查询、角色背景生成等技术场景。在实际工程应用中,RAG系统需要精心设计分层检索策略、缓存机制和硬件加速方案。通过将RAG深度集成到游戏引擎工作流中,开发者可以快速解决技术难题,新成员也能更快掌握引擎特性,大幅提升团队协作效率。

weixin_29323977的博客 534

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

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

zy010101博客 2860

(R,线性回归)R语言里的模型诊断图(Residuals vs Fitted,Normal QQ , Scale-Location ,Residuals Leverage)

线性回归,是概率统计学里最重要的统计方法,也是机器学习中一类非常重要的算法。线性模型简单理解非常容易,但是内涵是非常深奥的。尤其是线性回归模型中的Diagnostics plot的阅读与理解一直被认为是线性回归中的一个难点。 在任何线性模型中,能够直接“lm”(模型有意义),既要考虑各个参数的t-test所得出的p-value,也要考虑总体模型F-检验得出的p-value。在这之后,还要清楚一个...

qq_35837578的博客 7万+

别再瞎调了!手把手教你用ADI IIO Oscilloscope配置AD936x的AGC(附Pluto SDR实测)

本文详细介绍了如何使用ADI IIO Oscilloscope工具配置AD936x系列射频捷变收发器的自动增益控制(AGC)功能,包括Slow/Fast Attack模式的参数设置与优化技巧。通过Pluto SDR硬件实测演示,帮助开发者快速掌握AGC配置方法,提升无线通信系统的接收性能。

weixin_30267785的博客 579

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

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

qq_19283249的博客 2506

图神经网络实战(8)——图注意力网络(Graph Attention Networks, GAT)

图注意力网络 (Graph Attention Networks, GAT) 是对图卷积网络 (Graph Convolutional Network, GCN) 的改进,提出了一种通过自注意力 (self-attention) 过程计算的加权因子,而不是使用静态的归一化系数。在本节中,我们介绍了 GAT 架构。通过从线性变换到多头注意力的四个主要步骤,了解了 GAT 的工作原理,并在 NumPy 中从零开始构建了 GAT 层。最后,将 GAT 模型应用于 Cora 和 CiteSeer 数据集。

盼小辉丶的博客 1万+

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

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

Yaoyao2024的博客 2117

099、多摄融合与变焦系统:广角到长焦的无缝切换算法

本文分享了多摄融合与变焦系统开发中的实战经验和关键挑战。作者通过一个旗舰机项目案例,揭示了广角到长焦切换时画面抖动问题的根源——融合算法误将视差当作运动补偿,并提出"视差冻结窗口"的解决方案。文章总结了三大多摄融合难点:物理视差处理、亮度差异补偿和切换时机把控,详细阐述了分层架构设计、融合权重计算等核心技术。同时强调了产线校准的重要性,并给出五项实用建议:允许边缘鬼影保留、参数场景化配置、加强产线检测、完善调试接口,以及合理运用AI技术。全文展现了多摄融合技术在时间、空间和感知维度上的复杂平衡艺术。

sundong_81的博客 48

基于C#开发ABB机器人上位机系统:从操作控制到数据交互的全方位实现

ABB工业机器人是世界领先的自动化设备之一,广泛应用于焊接、装配、搬运、喷涂、包装等多个行业。机器人控制器:用于控制机器人运动、路径规划、状态监控等。上位机系统:提供人机交互界面,允许操作员与机器人进行交互,实现实时控制、参数调整和数据分析。上位机系统通过与机器人控制器通信,采集机器人状态数据,发送控制指令,实现远程监控和控制操作。通过高效的操作界面和数据交互,可以大大提高机器人的工作效率和系统的可维护性。基于C#开发ABB机器人上位机系统,能够实现高效的机器人控制与实时数据交互。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1180

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

第201期 解锁科研效率新高度:Claude 科学技能插件(claude-scientific-skills)深度体验

科研AI助手Claude Scientific Skills开源工具为Claude大模型扩展科学能力,覆盖数据可视化、数学计算、学术格式处理等科研全流程需求。该插件支持LaTeX公式生成、自动化科研图表绘制、学术文档规范校正等功能,让研究人员通过自然语言指令即可完成专业任务。项目开源可定制,支持特定学科需求扩展,目前已托管于GitHub。使用门槛低,只需配置Claude API密钥即可快速启用,帮助科研人员从繁琐技术细节中解放,聚焦核心研究创新。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 1362

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

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

阿澈不吃蒜的博客 492

COMSOL介电弹性体数值仿真指南:预拉伸圆形DEA的稳态变形分析(I)

本期博客是《COMSOL介电弹性体数值仿真指南》系列博客中的一期。聚焦于介电弹性体驱动器(DEA)中最为经典的预拉伸圆形DEA驱动器构型,对其物理特性及数值仿真总体方案进行介绍与讨论。

忘了面孔的Batou 454

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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

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

颜淡慕潇 3万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Go语言编程笔记1:Hello World

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

梦幻天空 1288

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

Go语言-“Hello World”

目录 ========================================================================= 1、下载go语言配置环境变量 (1)、下载: (2)添加环境变量(不出意外已经自动配置好了) (3)测试 2、下载vscode和go语言包 (1)下载安装教程: (2)安装Go语言包并测试: (3)发现问题 (4)解决问题 3、执行hello,world 1、下载go语言配置环境变量 (1)、下载: Downloads -

有朋自远方来,不亦乐乎。 1969
上一篇: 《快学 Go 语言》第 4 课 —— 低调的数组
下一篇: 《快学 Go 语言》第 6 课 —— 字典
码洞
博客等级 码龄11年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值