Go语言基础语法
一、基础语言
1、特点
1高性能、高并发 2语法简单、学习曲线平缓 3丰富的标准库 4完善的工具链 5静态链接 6快速编译 7跨平台 8垃圾回收
类似于C语言,学习时间短,部署快,编译快,跨平台,
案例代码:
package main
import(
"net/http"
)
func main() {
http.Handle("/",http.FileServer(http.Dir(".")))
http.ListenAndServe(":8080",nil)
}
哪些公司在使用GO:
2、字节跳动为什么全面拥抱 Go 语言
1 , 最初使用的 Python,由于性能问题换成了 Go 2 , C++ 不太适合在线 web 业务 3 , 早期团队非 Java 背景 4 , 性能比较好 5 , 部署简单、学习成本低 6 , 内部 RPC 和 HTTP 框架的推广
二、工程实践
1、配置开发环境
我是用Golong配置相应的开发环境的
其他环境:
在线基于云的开发环境
gitpod.io/#github.om/… 短链接 : hi-hi.cn/gitpod
2、基础语法
package main
import(
"fmt"
)
func main() {
fmt.Println("hello world!")
}
Go是一门强类型语言
变量声明:var声明变量、:=声明变量等等方式
if:没有括号、必须直接写{}
循环:没有while、do while,for循环写法如图
switch方式:不会跑其他分支
数组
切片
Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。
Map
Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,遍历 Map 时返回的键值对的顺序是不确定的。在获取 Map 的值时,如果键不存在,返回该类型的零值,例如 int 类型的零值是 0,string 类型的零值是 ""。Map 是引用类型,如果将一个 Map 传递给一个函数或赋值给另一个变量,它们都指向同一个底层数据结构,因此对 Map 的修改会影响到所有引用它的变量。
range:参数中第一个key,第二个value
函数
结构体:没有初始化的是空值
结构体方法:
错误处理:
字符串操作
字符串格式化
时间处理
数字解析
进程信息