go语言基础(一):入门和环境搭建
1 go语言的起源与特性
Go语言于2009年11月发布,发明人是Robert Griesemer、Rob Pike和Ken Thompson,这几位都曾任职于Google。
Go项目不仅包括改语言本身及其工具和标准库,还保持极端简单性的行为文化。它的基础部分实现的不错:有垃圾回收,包系统,一等公民函数,词法作用域,系统调用接口默认用UTF-8编码不可变字符串。但相对它的语言特性不多,而且不会增加新的特性了。比如,Go语言没有隐式数值类型强制转化,没有构造或析构函数,没有运算符重载,没有形参默认值,没有继承,没有泛型,没有异常,没有宏,没有函数注解,没有线程局部存储。
Go是编译型的语言。、
2 Go程序代码
Go代码是使用包来组织的,包类似于其他语言中的库和模块。一个包由一个或多个.go源文件组成,放在一个文件夹,该文件的名字描述了包的作用。每一个源文件的开始都用package声明,例子里面是package main,指明了这个文件属于哪个包。后面是跟着他导入的其他包的列表,然后是存储在文件中的程序声明。
Go的标准库中有100多个包用来完成输入、输出、排序、文本处理等常规任务。例如fmt包中的函数用来格式化输出和扫描输入。PrintIn是fmt中一个基本的输出函数。
名为main的包比较特殊,它用来定义一个独立的可执行程序,而不是库。在main包中,函数main也是特殊的,不管在什么程序中,main什么事情,他总是程序开始执行的地方,main函数通常调用其他包的函数来做更多的事情。
我们需要告诉编译器源文件需要哪些包,用package声明后面的import来导入这些包。import声明必须跟在package声明之后,然后再才是组成程序的函数、变量常量、类型声明。
Go语言不需要再语句或声明后面使用分号结尾,除非有多个语句或声明出现在同一行。
// You can edit this code!
// Click here and start typing.
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
3 获取一个或多个URL
Go提供了一系类包,在net包里面分组管理,使他们可以方便的通过互联网发送和接收消息,使用底层的网络连接,创建服务器,同时Go具有支持并发编程的特点,此时支持并发的特点非常有用。
4 web服务器
使用Go的库非常容易实现一个web服务器,用来相应像fetch那样的客户请求。
5 GIF动画
可以通过Go标准的图像包的使用,用来创建一系列的位图图像,然后将位图序列编码为GIF动画。
Go语言环境和IDE
Go安装包下载地址:
Go语言官网下载(需要翻墙):https://golang.org/doc/install
Go语言中文社区下载:https://studygolang.com/dl
环境安装完成后,打开Windows命令提示行(cmd.exe)执行命令:go version
查看安装是否成功,成功则显示安装Go的版本号。
Go语言IDE推荐使用GoLand和LiteIDE,前者体验和功能更贱完善,但是收费,后者是一款支持Go语言的轻量级开发软件,免费开源,根据个人需要选择适合自己的开发软件。
Go语言学习资料
Go语言官网(需要翻墙):https://golang.org/
Go语言中文社区:https://studygolang.com/
Go中文在线文档:https://studygolang.com/pkgdoc
Go程序设计语言(艾伦A.A.多诺万著):https://download.csdn.net/download/weixin_44644635/23354866