文章目录

  • 一、golang 简介
    • 1. go 语言特点
    • 2. go 语言应用领域
    • 3. 使用 go 语言的公司有哪些
  • 二、安装 golang
    • 1. golang 下载安装
    • 2. 配置环境变量
  • 三、golang 开发工具
    • 1. 安装 VSCode
    • 2. 下载所需插件
  • 四、第一个 golang 应用
    • 1. main 包的含义
    • 2. 示例

一、golang 简介

  • Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易

  • Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
    中文网在线标准库文档

1. go 语言特点

  • 天生支持并发
  • 语法简单,容易上手
  • 内置runtime,支持垃圾回收
  • 可直接编译成机器码,不依赖其他库
  • 丰富的便准库
  • 可跨平台编译
  • 部署维护成本低

2. go 语言应用领域

  • 服务器编程
  • 开发云平台
  • 区块链
  • 分布式系统
  • 网络编程

3. 使用 go 语言的公司有哪些

  • Google
    k8s

  • Facebook
    facebookgo

  • 腾讯
    蓝鲸平台
    容器技术

  • 百度
    运维项目BFE

  • 京东
    消息推送系统、云存储、京东商城

  • 小米
    运维监控系统、小米互娱、小米商城、小米视频、小米生态链

  • 360
    日志搜索系统Poseidon

二、安装 golang

下载开发包及工具,提取码:ad1z

1. golang 下载安装


2. 配置环境变量


使用cmd查看配置是否成功

三、golang 开发工具

1. 安装 VSCode




使用vscode打开创建的项目文件并选择信任

2. 下载所需插件

下载go扩展插件

下载Code Runner插件

安装常用工具包

可以看到这里会下载失败,因为是外网的资源,所以需要进行配置

添加代理地址

配置 GOPROXY 环境变量
GOPROXY = "https://proxy.golang.com.cn,direct"

关闭module功能

GO111MODULE=off
无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。

四、第一个 golang 应用

//主包,可执行文件所在包
package main//导入包
import "fmt"//主函数,入口函数
func main() {//打印输出fmt.Println("hello go")
}//输出结果
hello go

1. main 包的含义

  • 在 Go 语言里,命名为 main 的包具有特殊的含义。Go 语言的编译程序会试图把这种名字的包编译为二进制可执行文件。
  • 所有用 Go 语言编译的可执行程序都必须有一个名叫 main 的包
  • 一个可执行程序有且仅有一个 main
  • 当编译器发现某个包的名字为 main 时,它一定也会发现名为 main() 的函数,否则不会创建可执行文件
  • main() 函数是程序的入口,所以,如果没有这个函数,程序就没有办法开始执行
  • 程序编译时,会使用声明 main 包的代码所在的目录的目录名作为二进制可执行文件的文件名

2. 示例


Golang——从入门到放弃相关推荐

  1. Golang 从入门到放弃

    目录: 1.Golang搭建Windows开发环境. tcp聊天软件开发: 2.TCP监听服务器搭建. 3.TCP服务器监听用户上线. 4.TCP服务器群聊消息. 5.TCP服务器用户修改名字.查询用 ...

  2. AI从入门到放弃2:CNN的导火索,用MLP做图像分类识别?

    来源 | 腾讯知乎专栏 作者 | AIoys(腾讯员工,后台工程师) 项目文档和代码在此:github项目地址: https://github.com/zsysuper/AI_Notes ▌一.前言 ...

  3. AOP埋点从入门到放弃(二)

    其实人最大悲哀莫过于知道自己想要什么,却不知道怎么坚持!最近迷恋上了死侍 其实和我平时的状态差不多,以一个混子的心态去做任何事情,往往成功的概率会更大!!! 一张图片镇楼!!! 上文说到了Aspect ...

  4. 入门到放弃node系列之网络模块(二)

    为什么80%的码农都做不了架构师?>>>    前言 本文首发[一名打字员] 上一节我们刚刚介绍完node的HTTP和HTTPS模块,相信我们也对nodejs有了更深层次的理解,接下 ...

  5. webpack - vue Component 从入门到放弃(三)

    离上一篇已经一个星期了,人的拖延症是没法救的,今晚趁着蒙蒙春雨,来抒发抒发情感. 上一篇简单介绍了webpack的配置,这里稍微再做一一下延伸 插件 插件可以完成更多 loader 不能完成的功能.插 ...

  6. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

  7. python ** 运算符_Python从入门到放弃运算符(2)

    摘要:上一篇Python从入门到放弃-运算符(1),讲了Python的运算符中的算术运算符.赋值运算符.比较(关系)运算符,这篇继续讲Python的运算符. 逻辑运算符 逻辑运算符是对真和假两种布尔值 ...

  8. python从入门到放弃系列恶搞短片-太惨!学Python方法用错,直接从入门到放弃!...

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

  9. 为什么叫python编程-月薪上万的Python编程,为什么你还没入门就放弃了?

    "大家都是怎么学Python 的?我学了一个月,感觉自己怎么学都学不进去啊,还是一脸懵--学习前我有做过规划,现在连入门都不算,我应该怎么办啊!!!求大神给一个学习思路!求大神讲解入门要重点 ...

  10. python从入门到放弃图片大全-Python 从入门到放弃(一)

    Python 从入门到放弃(一) 一个没有逻辑顺序的python笔记,包括日常使用python时的总结与阅读<Python基础教程>([挪] Magnus Lie Hetland 著) 的 ...

最新文章

  1. python水平条形图_如何在Bokeh(Python)中绘制水平条形图
  2. 最快让你上手ReactiveCocoa之基础篇
  3. 机器学习实战笔记(Python实现)-01-机器学习实战
  4. SpringMVC核心分发器DispatcherServlet分析[附带源码分析]
  5. 涨知识 | 100个中国最难读的地名,第一个就折了
  6. c语言之多线程函数,如何用C语言实现多线程
  7. 普通码农和技术大牛之间,只差这10本书(1024高能福利)
  8. 网页打开共享目录_“馆员说事儿”之三大中文数据库期刊封面、目录、封底下载方法步骤(三)中国知网...
  9. [JS进阶] HTML5 之文件操作(file)
  10. CommandName属性简介
  11. 计算机论文图表,论文图表字体字号-毕业论文格式中图表的要求规范?
  12. 【重磅来袭】这绝对是全网最全的Springboot面试题
  13. html5 实现简单捕鱼达人部分功能
  14. Spring Cloud 微服务开发:入门、进阶与源码剖析 —— 11.3 Nacos 服务配置入门实战
  15. 使用 Python 的铅笔素描图像
  16. Java数据加密(MD5,sha1,sha256)
  17. 计算机以前e盘里的文件图片都是横排的,现在突然变成竖排怎么办】,wps文档怎么办横排变竖排 变成竖排处理方法...
  18. [笔记] 信息与通信技术(ICT)发展历史
  19. 微信小程序如何运营更高效
  20. MySQL计算正方形的面积_计算如图所示长方体、正方体的表面积和体积.(1)长方体表面积:______体积______(2)正方...

热门文章

  1. 消息队列的介绍及配置
  2. 交换机连接控制器_MESH路由器组网指南,各种连接方法
  3. PayPal注册绑卡使用教程
  4. compositionAPI
  5. 2020农行研发中心面经
  6. 【Qt5】Windows下配置程序的产品、公司、版权、版本号等详细信息
  7. 【翻唱】学习日语歌 (青鸟)火影忍者 OP
  8. linux编写路由器固件,在Linux下用tftp刷写路由器固件
  9. 路由器刷openwrt固件准备工作
  10. vue 动态设置浏览器标题