Golang快速入门

Golang 简称 Go,是一个开源的编程语言,Go是从2007年末由 Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。

Golang快速入门

1.Go语言用途:

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
Go 语言在用于高性能分布式系统开发中,无疑比大多数其它语言有着更高的开发效率。此外,它提供了海量并行的支持,这对于游戏服务端的开发而言也是不错的选择。

2.Go语言开源项目:

有着媲美C语言的性能和Python的开发效率,被称为21世纪的C语言。目前使用Go语言开发的一些优秀的开源项目有:Docker、etcd、kubernetes等。

3.Go语言特点:

优点:

简洁、快速、安全

支持并发编程

自动垃圾回收

编译迅速

开源:Go语言的Github源码

便捷部署:go最终生成的是一个 可执行文件,不管你的程序依赖多少库,都会被打包进行,生成一个可执行文件,所以相比java庞大的jar库来说,他的部署非常方便,执行运行这个可执行文件就好了。

缺点:

错误处理比较繁琐,需要写很多 err 判断

Go开发环境配置:

访问 Golang官网,下载指定平台的安装包,目前支持Windows、MacOS X、Linux 和 FreeBSD 四个平台,这里我们以Windows为例:

1.*Windows下的安装:*

安装包 go1.8.3.windows-amd64.msi 双击打开一路next的傻逼式的安装方式。

资源地址:
可以到这里下载安装包:Golang中国 或者 官网下载

检查版本:
直接打开cmd命令行,输入一下指令查询安装Go的版本:

C:\Users\Administrator>go version go version go1.8.3 windows/amd64

2.Linux下的安装:

下载源码包:go1.8.3.linux-amd64.tar.gz;

解压到/usr/local目录:tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz;

将/usr/local/go/bin目录添加到Path环境变量中:export PATH=$PATH:/usr/local/go/bin。

3.Hello World:

Tour编辑器:
假如只是前期的语法学习,可以考虑先不安装开发环境,可以直接在 Golang官网 上的网页内嵌 Tour编辑器 中编写代码和运行:
在编辑器中编写如下代码:

package main import "fmt" func main() { fmt.Println("Hello world!") }

运行结果:

Golang快速入门

本地运行:
也可以在本地创建一个hello.go文件,内容与上述一致,然后在命令行定位到创建.go文件的目录下,执行go run (.go文件名):

E:\Go\Projects>go run hello.go Hello world!

此过程会将.go源码编译成二进制文件,但是编译结果不会保存到本地,可以go build实现此过程,编译结果hello.exe会保存到本地,可以直接在命令行运行:

E:\Go\Projects>hello.exe Hello world!

源码解析:

package:是一个关键字,定义一个包,和Java中的Package一样,用于模块化编程;

import:也是一个关键字,用于引入包,与Java的import一样,引入包之后可以使用其中的功能;

fmt:Go语言的一个自带功能包;

main():主函数,也是程序执行的入口;

fmt.Println:用于输出一段字符串。

不难发现Go语言与Java的关键字、函数和包等很相似,但是,Go语言不需要以 ; (分号)符号结尾,一行代表一个语句结束。

Go基本语法: 1.基本数据类型:

数值类型 说明
bool   布尔  
string   字符  
int,int8,int16,int32,int64   int长度与平台相关  
uint,uint8,uint16,uint32,uint64   uint长度与平台相关  
uintptr   同指针,32位平台为4字节,64位八字节  
byte   等价于uint8  
rune   等价于uint32,单个unicode字符  
float32,float64    
complex64,complex128   复数类型, value = 3.2+12i  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpzgg.html