当前位置:网站首页>Go语言介绍
Go语言介绍
2022-07-02 03:45:00 【UPythonFish】
Go语言介绍
一 Go语言介绍
Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。
Go是静态强类型语言,是区别于解析型语言的编译型语言(静态:类型固定 强类型:不同类型不允许直接运算)。
二 Go语言特性
- 跨平台的编译性语言(能够交叉编译)
- 语法接近C语言
- 管道(channel),切片(slice),并发(routine)–》线程池+协程
- 有垃圾回收机制(GC)
- 支持面向对象和面向过程的编程模式
三 Go语言发展
go语言也是用c写的,在2009年11月7日 发布 weekly.2009-11-06,早期的版本,下面介绍几个重要go版本
- 2012年3月28日 go1 —— 稳定版版的发布
- 2015年8月19日 go1.5 —— 实现的架构变化,同时保留了和旧版本的兼容性,本次更新中移除了”最后残余的C代码”—》自举
- 2018年8月24日 go1.11 —— modules支持,摒弃掉go path的包管理
- 2020 年 2 月 go 1.14— — 现在 Go Module 已经可以用于生产环境
- 至今:1.17.6 开始支持泛型(额外操作)
go语言现在基本所有的中大型公司都在使用,并且有许多成熟的开源项目,如 docker,kubernetes 等,并且适合服务端开发,微服务方向,区块链开发 第一款开源的区块链软件是用go写的,自动化运维 docker,k8s二开,云平台等方向。因此go具有很好的发展情景,并且学习也比较简单。
四 Go开发环境搭建
4.1 go 的 sdk
下载地址:https://golang.google.cn/dl/,找到对应系统版本,下载最新版本,一直下一步即可
安装完成后,会把安装路径添加到环境变量中,在cmd窗口输入 go version 即可输出安装go版本
4.2 IDE的选择
go 的IDE 目前主流就是 goland , vscode,以及linux 上的 vim
这里选择 以goland 为主,也推荐新手使用 goland ,虽然 goland 收费,但是他功能强大并且可以破解,vscode和vim都需要自己去搭开发环境,并且全套下来也不比 goland所占空间小。
https://www.jetbrains.com/zh-cn/go/download/other.html—》2021.1 版本 可以使用无限试用插件
下载后一直下一步即可
五 第一个go程序
package main // 指定包名,任何一个go文件都要有这句话,包名可以不一样,目前必须叫main
import "fmt" //导入内置包,fmt包,只要使用了fmt包,会自动导入,goland自动导入的,如果其他编辑器,需要手动导入
func main() {
// 定义一个函数,函数名叫 main,目前必须叫main
fmt.Println("hello world") // 真正的在控制台输出 hello world,必须用双引号
}
由于go是编译性语言,和python不一样,需要先编译后执行
go build go文件名 // 编译go文件, win平台 编译成 go文件名.exe
go run go文件名字.exe // 执行文件运行,也可以直接点击运行
并且可以直接 go run go文件名 // 会自动编译并运行,但是编译后的文件,不在项目根路径下,并且运行后会删除
开发阶段使用 goland 执行
goland也提供了编译并运行,配置好go sdk 后 右键运行即可
在学习阶段,建议将配置更改,选择以文件的方式执行,否则容易出错。
边栏推荐
- MySQL index, transaction and storage engine
- 【IBDFE】基于IBDFE的频域均衡matlab仿真
- 跳出舒适区,5年点工转型自动化测试工程师,我只用了3个月时间
- [punch in] flip the string (simple)
- 蓝桥杯单片机省赛第十一届第一场
- Oracle的md5
- 蓝桥杯单片机省赛第十二届第一场
- [tips] use Matlab GUI to read files in dialog mode
- VS2010插件NuGet
- The 10th Blue Bridge Cup single chip microcomputer provincial competition
猜你喜欢
Jetpack之LiveData扩展MediatorLiveData
In wechat applet, the externally introduced JS is used in xwml for judgment and calculation
2022-07-01:某公司年会上,大家要玩一食发奖金游戏,一共有n个员工, 每个员工都有建设积分和捣乱积分, 他们需要排成一队,在队伍最前面的一定是老板,老板也有建设积分和捣乱积分, 排好队后,所有
[personnel density detection] matlab simulation of personnel density detection based on morphological processing and GRNN network
u本位合约爆仓清算解决方案建议
"Analysis of 43 cases of MATLAB neural network": Chapter 42 parallel operation and neural network - parallel neural network operation based on cpu/gpu
【DesignMode】原型模式(prototype pattern)
The first practical project of software tester: web side (video tutorial + document + use case library)
First acquaintance with string+ simple usage (II)
The first game of the 12th Blue Bridge Cup single chip microcomputer provincial competition
随机推荐
go 语言命名规范
How to do medium and long-term stocks, and what are the medium and long-term stock trading skills?
High performance and low power cortex-a53 core board | i.mx8m Mini
高性能 低功耗Cortex-A53核心板 | i.MX8M Mini
Kotlin basic learning 14
软件测试人的第一个实战项目:web端(视频教程+文档+用例库)
Welcome the winter vacation multi school league game 2 partial solution (B, C, D, F, G, H)
The second game of the 12th provincial single chip microcomputer competition of the Blue Bridge Cup
5G時代全面到來,淺談移動通信的前世今生
Blue Bridge Cup SCM digital tube skills
《MATLAB 神经网络43个案例分析》:第41章 定制神经网络的实现——神经网络的个性化建模与仿真
树莓派GPIO引脚控制红绿灯与轰鸣器
潘多拉 IOT 开发板学习(RT-Thread)—— 实验1 LED 闪烁实验(学习笔记)
Fingertips life Chapter 4 modules and packages
How should the team choose the feature branch development mode or trunk development mode?
蓝桥杯单片机省赛第五届
The 11th Blue Bridge Cup single chip microcomputer provincial competition
蓝桥杯单片机省赛第九届
Kotlin basic learning 17
Qt插件之Qt Designer插件实现