Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GoLang——Hello World,打开新世界的大门

GoLang——Hello World,打开新世界的大门

作者头像
TechFlow-承志
发布于 2020-04-14 09:07:40
发布于 2020-04-14 09:07:40
1.5K00
代码可运行
举报
文章被收录于专栏:TechFlowTechFlow
运行总次数:0
代码可运行

今天是Go语言系列的第一篇文章,我们来聊聊这门新的语言和它的基础语法。

浅谈Golang

作为程序员而言,往往对于学习新的语言都是有抗拒的。如果你用惯了Java,那么你可能不太愿意去学Python,如果你刚学C或者C++可能你也会看不上Java。因为这个原因还会引发很多口水仗,这很正常。我当时写C++的时候也看不上Java,写了Java又不想学Python,现在学会了Python,有时候也会不想看其他语言写的代码。

但是随着我们的成长和实力的提升,我逐渐发现学习一门语言的成本在飞快地下降。毕竟天下语言都是程序,就好像武侠小说里各门各派的武功眼花缭乱,但是归结起来无非是拳脚功夫、刀剑或者是内功这么几种。语言也是一样,虽然我会的语言也不够多,远远没达到可以指点江山的地步。但也发现了很多语言之间的相关性实在是很强,有些理念一脉相承,有些更像是一个模子里刻出来的。既然如此,我们为什么需要学习Go这样一门语言呢?

网上相关的信息很多,很多大牛架构师高谈阔论。很多观点和看法我并没有很深的体会,所以我就不做搬运工了。简单说下我个人的一点浅薄的看法

当初学习Golang这门语言的原因很简单,纯粹是因为工作需要。当前的公司几乎所有的系统都是以Golang写的,所以学习Golang是必须的。但是学会语言基本的使用和精通一门语言这是两回事,学会基本的用法是因为工作需要,而让我想要花时间把这门语言精通是因为一门课程。这门课程非常著名,它是MIT(麻省理工)的分布式系统的公开课,当中的内容和课后作业都非常硬核,更关键的是课后作业是用Golang写的。

在学习这门课程的过程当中,经过了一些思考和一些观察,Golang的确在分布式处理的场景和问题当中有一定的优势,许多优秀的解决方案都是基于Golang写的。并且这两年各类语言的流行变迁情况也印证了这一点,在最新的全世界程序员最想要学习的语言当中,Golang排名前3。在全球语言流行排行当中,Golang也冲进了前十,要知道这门语言才诞生十年。

并且在国内Golang工程师的需求量也与日俱增,我纯属好奇去拉勾网看了一下,全国Golang的岗位是341个。

看起来似乎不多,但是我们再来看下就业大户Java,也才500+

要知道,Java几乎是CS必学的语言,所有CS毕业以及相关专业毕业的学生都可以号称自己会Java。但是Go不一样,它太新了,诞生不过十年,以目前高校的反应速度以及筛选课程的能力,它入选中国的教材目测最少还需要5-10年。并且和Java相比,Golang要好学的多。所以如果你还没有毕业,想要成为一名工程师,想要找一份工作,那可以考虑学习一下Go,说不定竞争压力会比Java小得多

我个人觉得Golang是一门非常有个性的语言,长处与短处都非常的明显。关于它的长处很多,相比于一一列举出来,在实际学习和运用的过程当中领会到的感受会深得多。

Hello World

学语言第一件事就是敲Hello World,我想所有语言都不例外,我们也来看下Golang的Hello World,来看下它的基本结构。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main

import (
 "fmt"
)

func main() {
 fmt.Println("Hello World")
}

我们来简单看下这段代码,可以把这段代码分成三个部分。

最上面的是模块名,也可以说成是包名,然后是引入包的语句。这一块其实没什么好说的,很多语言都是这样的结果,比如Java和Python。在Golang当中main package表示一个独立的程序,而不是一个包。在main package下的main函数代表这个独立程序的执行入口,和C++以及Java当中的main函数比较类似。我们可以在main函数里调用其他包的各种函数。

fmt是Golang当中的标准输出包,我们调用它来输出我们想打印的东西。

写完了Hello World之后就要执行了,Golang提供了两种执行方式,一种是直接go run + 要执行的文件名。还有一种是和C++一样先进行编译,再通过./调用编译之后的二进制包。

当然执行之前我们需要在电脑上配置Golang的环境,这方面网上的资料很多,并且Golang的安装也比较简单,基本上没有什么坑,所以照着网上的博客安装就好了

我们来分别看下这两种调用方式,第一种我们直接使用go run执行代码:

还有一种方式是我们先通过go build对Golang的代码先进行编译,会生成一个二进制文件,之后我们直接./运行这个文件。

所以从这里我们可以看出来,Golang是编译型语言而不是解释性语言,因此它的效率会非常高,实际上由于Golang的一些底层设计和特性,Golang的运行效率非常高,在绝大多数场景比Java更快,仅仅次于C++。

IDE

最后简单聊聊Golang的开发环境,其实现在开发环境已经普世化了,很多代码编辑器可以用来写各种语言。比如业内比较流行的vscode,Atom,Sublime等等,这几种当中我个人最喜欢vscode,功能非常强大,拥有海量的插件支持,并且页面风格和使用体验也不错,并且还是免费的。

另外一个比较常用的是Goland,它是Jet Brains公司专门为Golang开发的IDE。Jet Brains公司专门发开各种语言的IDE,几乎每一种语言的IDE都广受欢迎。写过Java的同学应该对IDEA都不陌生,它的体验比eclipse要好用得多。同样,Goland对于Golang的支持也非常好,使用体验非常棒,而且如果之前用过它家的其他产品会非常适应。

Goland页面风格以及各方面体验都非常棒,但缺点也很明显,一个是基本上只支持Golang,另一个缺点就是。免费的社区版要阉割掉一些功能,而专业版则要好几千人民币。不过如果是学生的话可以免费申请,不得不说还是非常人性化。

除了这些之外,还有七牛团队开源的liteide,基于C++ QT开发,因此执行效率很高,但据说调试功能不太好用。我也没有用过,感兴趣的小伙伴可以试试。

今天的文章就是这些,如果觉得有所收获,请顺手点个在看或者转发吧,你们的举手之劳对我来说很重要。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coder梁 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Golang系列之快速入门教程
在上一章的学习中,我们知道了go语言开发环境的搭建过程,这一章作为一个入门的指南手册,对go语言有一个比较清楚的了解
SmileNicky
2022/03/07
4400
Golang系列之快速入门教程
1.初识Go语言-Go环境安装-Go的hello world
“Go是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效率的软件”(来自go官网golang.org)
Devops海洋的渔夫
2022/01/17
4230
1.初识Go语言-Go环境安装-Go的hello world
第一篇:初始Golang
Golang简介 编程语言已经非常多,偏性能敏感的编译型语言有 C、C++、Java、C#、Delphi和Objective-C 等,偏快速业务开发的动态解析型语言有PHP、Python、Perl、R
超蛋lhy
2018/10/09
9250
第一篇:初始Golang
golang基础(一)go的特点、数据类型以及变量的定义
静态类型语言:与动态类型语言刚好相反,它的数据类型检查发生在在编译阶段,也就是说在写程序时要声明变量的数据类型。C/C++、C#、Java都是静态类型语言的典型代表。
GH
2020/03/25
1.6K0
Go语言简介&开发环境配置
Go (又称GoLang)是一款比较年轻的开源编程语言,它是从2007年末由来自谷歌的Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来又加入了后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源。现在Go语言拥有活跃的开发社区和开发人员,国内的一些大公司(字节、快手、B站)也纷纷开始转向基于Go的后端开发。
Steve Wang
2020/12/21
8470
Go语言简介&开发环境配置
【从零开始学习Go语言】三.属于Go的Hello World
本教程使用的编辑器为Vs code 微软的一款开源的文本编辑器,可能有人说goland更好,聪明的人自由聪明的选择,如果需要使用goland但却没经济基础使用正版麻烦您移步到资讯社进行下载,VS code 请 点我下载
一只特立独行的兔先生
2020/03/25
4K0
【从零开始学习Go语言】三.属于Go的Hello World
踩坑容易躲坑难!写在你开始学Python之前,帮你顺利入门
很多读者私信我说公众号迁移了之后文章的分类没有了,看起来不方便。梁唐也注意到了这个问题,最近正在对之前的文章做一些整理和勘误。
TechFlow-承志
2022/08/26
2970
踩坑容易躲坑难!写在你开始学Python之前,帮你顺利入门
第一章 Go介绍
一个菜鸟听过Go语言的众多传说,以前也对C语言有着无限的向往,但是一直都没敢触碰。但这次想了解并学习这门号称是21世纪的C——Golang。并决定痛定思痛的把入门学习笔记给记录下来,欢迎各位大佬们不断指教,也请各位看客轻喷,毕竟菜鸟需要鼓励。
宇宙之一粟
2020/10/26
4890
第一章 Go介绍
Golang基础知识
Go是一门由Google开发的开源编程语言,它的设计目标是提供简洁、高效、可靠的编程体验。以下是Golang的一些基础知识概念:
dbdocker
2024/02/01
1310
Go学习之新奇视角 - 入门篇(一)
最近工作中,需要研究Go语言的区块链项目,作为一个Java出身的程序汪,不得不开始走向新的火热学习当中去。
23号杂货铺
2019/09/27
6510
Go学习之新奇视角 - 入门篇(一)
golang学习笔记1:初识
随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫折,在诸多问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情况更是不容乐观。由于二进制文件一般都是非常巨大的,因此需要耗费大量的时间在编译这些文件上,同时编程语言的设计思想也已经非常陈旧,这些情况都充分证明了现有的编程语言已不符合时下的生产环境。尽管硬件在过去的几十年中有了飞速的发展,但人们依旧没有找到机会去改变 C++ 在软件开发的重要地位,并在实际开发过程中忍受着它所带来的令人头疼的一些问题。因此学者们坐下来总结出了现在生产环境与软件开发之间的主要矛盾,并尝试设计一门全新的编程语言来解决这些问题。
JKXQJ
2018/10/08
4680
【从零开始学习Go语言】三.属于Go的Hello World
前文学习: 【从零开始学习Go语言】一.初识Go语言 【从零开始学习Go语言】二.Go语言的安装 【从零开始学习Go语言】三.属于Go的Hello World 【从零开始学习Go语言】四.Go常用命令释义 【从零开始学习Go语言】五.Go的词法单元 【从零开始学习Go语言】六.Go语言之数据类型标识符 【从零开始学习Go语言】七.Go标识符之内置函数常量总结 【从零开始学习Go语言】八.Go语言的数组切片引用类型与值类型(总结) 【从零开始学习Go语言】九.Go语言之变量常量及指针总结
一只特立独行的兔先生
2020/04/01
4.1K0
【从零开始学习Go语言】三.属于Go的Hello World
从 Java 的角度初识 Go 语言 | 青训营笔记
本系列文章试图从一名 Java 开发者(有时也会穿插其他语言)的角度窥探 Go 语言,并以注释的方式提及 Go 与 Java 的一些区别,方便 Java 开发者迅速入门 Go 语言。
HikariLan贺兰星辰
2023/01/16
8440
Go-环境搭建-hello world-变量常量定义-函数使用基础
1)命名返回值(函数返回值定义那里),定义了就直接可以用了(不需要再在函数体里定义),也不需要再指定把它传出去(会自动把它一并 return 出去)
suwanbin
2019/12/12
5830
Go-环境搭建-hello world-变量常量定义-函数使用基础
深度解析:初学编程首句代码为 “Hello World” 的原因-优雅草卓伊凡
在编程的广袤天地中,“Hello World” 宛如一句神秘的咒语,几乎出现在每一位编程初学者的第一课上。今日,我便收到这样一个问题:为何初学编程第一课总是 “Hello World” ?在此,我(卓伊凡)想与大家深入探讨一番,这看似简单的 “Hello World” 背后,实则蕴含着远超表面的深意。
卓伊凡
2025/04/15
1270
Go:go简介及国内镜像源配置
Go 是一门编译型和静态的编程语言。因为 Go 语言是 2009 年诞生的,比目前市面上主流的编程语言,如 C、C++、Python、Java 都要新,所以它能够基于多种语言,取其精华,去其糟粕。
Freedom123
2024/03/29
3.5K0
Go:go简介及国内镜像源配置
Golang入门教程——基本操作篇
今天是Golang专题的第四篇,这一篇文章将会介绍golang当中的函数、循环以及选择判断的具体用法。
TechFlow-承志
2020/05/14
9030
【译】教你用50种语言写Hello, World
甚至有一个名为TTHW的指标来衡量一个程序员接触一门新的编程语言时,成功写出“Hello, World!“并运行所需要的时间。
Jackeyzhe
2020/03/10
8320
二、Go语言开发环境安装与编写第一个Hello World
Go语言2009年正式发布,Go语言又称为Golang,由Google公司开发的一种编程语言。 其主要特性在于部署简单、并发好(协程)、语言设计简单编写方便、保留指针等。 Go语言为编译型语言,目前 Docker、Go-Ethereum、Thrraform 和 Kubernetes均为Go语言发开。 Go语言编写遵循以下三个步骤: 1、创建编写Go程序文件 2、使用Go build编译Go程序,生成执行文件 3、执行编译后的执行程序。
cn華少
2020/05/08
1.3K0
编程语言50年来的变化,我用50种编程语言告诉你“Hello world”怎么写!
当我们学习一门新的语言时,“Hello, World!“通常是我们所写的第一个程序。 因此,所有程序员在职业生涯中至少完成了“Hello, World!“程序员在职业生涯中通常使用一种以上的编程语言,他们中的大多数甚至至少已经实现了十几种。
风骨散人Chiam
2021/09/06
9590
推荐阅读
相关推荐
Golang系列之快速入门教程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验