当前位置:网站首页>Golang——从入门到放弃
Golang——从入门到放弃
2022-07-30 05:14:00 【繁华哟】
文章目录
一、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
k8sFacebook
facebookgo腾讯
蓝鲸平台
容器技术百度
运维项目BFE京东
消息推送系统、云存储、京东商城小米
运维监控系统、小米互娱、小米商城、小米视频、小米生态链360
日志搜索系统Poseidon
二、安装 golang
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. 示例


先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 全流程调度——Azkaban入门与进阶
- 聊一聊什么是SaaS,以及遇到的问题......
- C# One Week Introductory "C# - Classes and Objects" Day Six
- 容器化 | 在 K8s 上部署 RadonDB MySQL Operator 和集群
- 盘点 | 常用 PG 数据恢复方案概览【建议收藏】
- Hexagon_V65_Programmers_Reference_Manual(10)
- CSDN Meetup 回顾 丨从数据湖到指标中台,提升数据分析 ROI
- Small programs use npm packages to customize global styles
- SaaS多租户数据隔离的三种解决方案
- go语言学习笔记二
猜你喜欢

ms project2010项目管理软件使用技巧总结

Unity踩坑记录 —— GetComponent的使用

工作效率-十五分钟让你快速学习Markdown语法到精通排版实践备忘

Kyligence 亮相第五届南方信息大会并获评“CIO 优选数字化服务商”

Hexagon_V65_Programmers_Reference_Manual(12)

Kyligence 再获 CRN, insideBIGDATA 两大国际奖项认可

Using the GPU parallel computing 】 【 OpenCL&OpenCLUtilty GPU parallel computing

Discourse Custom Header Links

1315_使用LOOPBACK模拟模式pyserial安装是否成功的测试

Code readability, pre-checks, comments and summaries
随机推荐
如何让 (a == 1 && a == 2 && a == 3) 的值为true?
暴力递归到动态规划 05 (贴纸拼词)
SVN View Username and Password
Protobuf compound data types, speaking, reading and writing
Plan for many situations in the processing chain
Shi Xingguo, founder of Hyperchain, was interviewed by 21st Century Business Herald to interpret Shanghai's new NFT regulations and digital development
POJ1321 棋盘问题(详解)
5. View parsing and template engine
Nuxt3 learning
go语言学习笔记二
Record of problems encountered by the pyinstaller packager
[3D Detection Series-PointRCNN] Reproduces the PointRCNN code, and realizes the visualization of PointRCNN3D target detection, including the download link of pre-training weights (starting from 0 and
动态规划问题(完结篇)
BindingExpression path error: 'selectMenusList' property not found on 'object' ''ViewModel'
[Android development] Splash interface / user agreement and privacy policy pop-up window / interface development
WPF study notes "WPF Layout Basics"
Hexagon_V65_Programmers_Reference_Manual (10)
Intermediate - interview questions
mysql无法远程连接 Can‘t connect to MySQL server on ‘xxx.xxx.xxx.xxx‘ (10060 “Unknown error“)
Us to raise interest rates by 75 basis points in "technical recession"?Encryption market is recovering