golang适合哪些业务?

  • 在服务器编程方面,Go语言适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等
  • 网络编程方面,Go语言广泛应用于 Web 应用、API 应用、下载应用等
  • 此外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用 Go 开发
  • 区块链,例如以太坊、ipfs、storj都是用golang实现

学习编程语言,语法规则都是其次(各家编程语言相差不大,都是流程控制、循环、函数这些)。学会一门语言,指的是学会对于的框架和库的使用。c++和c比较相,但是还要学会stl库boost库才算学会。c++又与java比较像,但是真正学会java,还要学会spring框架、netty sdk自带的库。
可以看出,比较上层一点的编程语言的学习,分为三步:第一语法,第二语言自带的标准库,第三扩展的第三方库。

在Go语言的安装文件里包含了一些可以直接使用的包,即标准库。Go语言的标准库(通常被称为语言自带的电池),提供了清晰的构建模块和公共接口,包含 I/O 操作、文本处理、图像、密码学、网络和分布式应用程序等,并支持许多标准化的文件格式和编解码协议。

在 Windows 下,标准库的位置在Go语言根目录下的子目录 pkg\windows_amd64 中;在 Linux 下,标准库在Go语言根目录下的子目录 pkg\linux_amd64 中(如果是安装的是 32 位,则在 linux_386 目录中)。一般情况下,标准包会存放在 Golang语言标准库常用的包及功能列表_词法GOOS_$GOARCH/ 目录下。

Go语言的编译器也是标准库的一部分,通过词法器扫描源码,使用语法树获得源码逻辑分支等。Go语言的周边工具也是建立在这些标准库上。在标准库上可以完成几乎大部分的需求。

Go语言的标准库以包的方式提供支持,下表列出了Go语言标准库中常见的包及其功能。

Go语言标准库包名

功 能

bufio

带缓冲的 I/O 操作

bytes

实现字节操作

container

封装堆、列表和环形列表等容器

crypto

加密算法

database

数据库驱动和接口

debug

各种调试文件格式访问及调试功能

encoding

常见算法如 JSON、XML、Base64 等

flag

命令行解析

fmt

格式化操作

go

Go语言的词法、语法树、类型等。可通过这个包进行代码信息提取和修改

html

HTML 转义及模板系统

image

常见图形格式的访问及生成

io

实现 I/O 原始访问接口及访问封装

math

数学库

net

网络库,支持 Socket、HTTP、邮件、RPC、SMTP 等

os

操作系统平台不依赖平台操作封装

path

兼容各操作系统的路径操作实用函数

plugin

Go 1.7 加入的插件系统。支持将代码编译为插件,按需加载

reflect

语言反射支持。可以动态获得代码中的类型信息,获取和修改变量的值

regexp

正则表达式封装

runtime

运行时接口

sort

排序接口

strings

字符串转换、解析及实用函数

time

时间接口

text

文本模板及 Token 词法器