Go语言简介:Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
一、Go语言特点:
- 高性能、高并发
- 语法简单、学习曲线平缓
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收(和Java类似)
二、使用Go的公司
字节跳动、谷歌、腾讯、美团、滴滴、百度......
三、Go的Hello World
package main
import (
"fmt"
)
func main(){
fmt.Println("hello world")
}
四、变量
声明:1.使用var,自动推导变量类型
var a = "lihongbo"
也可以直接写出
c int = 1
2.使用:=
f := float32(e)
五、与其他语言(C、Java)区别
- if后面没有括号,即使写了括号,编辑器也会自动去掉
- 循环,注:Go只有for一种循环
- switch:
1)功能强大,可以使用任何一种数据类型;
2)case不用加break也可以 - 切片:可视为可变长度的数组
定义:Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 - map:Map 是一种无序的键值对的集合。
1)Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。
2)Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,遍历 Map 时返回的键值对的顺序是不确定的。在获取 Map 的值时,如果键不存在,返回该类型的零值,例如 int 类型的零值是 0,string 类型的零值是 ""。
3)Map 是引用类型,如果将一个 Map 传递给一个函数或赋值给另一个变量,它们都指向同一个底层数据结构,因此对 Map 的修改会影响到所有引用它的变量。 - range
- 函数
Go 语言最少有个 main() 函数。 - 指针:常用作对参数进行修改
- 结构体
type user struct{
name string
password string
}
- 错误处理:在函数返回值加一个err
- 字符串常用函数
- 字符串格式化
- JSON处理
- 时间处理
- 进程信息
进程定义:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
GO打印进程信息:
总结
第一学习Go,学习了Go的基础语法,与我熟悉的Java进行对比学习,记得比较深刻,再接再厉!