Day01-GO语言入门 | 青训营笔记

128 阅读3分钟

Go语言简介:Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

一、Go语言特点:

  1. 高性能、高并发
  2. 语法简单、学习曲线平缓
  3. 丰富的标准库
  4. 完善的工具链
  5. 静态链接
  6. 快速编译
  7. 跨平台
  8. 垃圾回收(和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)区别

  1. if后面没有括号,即使写了括号,编辑器也会自动去掉
  2. 循环,注:Go只有for一种循环
  3. switch:
    1)功能强大,可以使用任何一种数据类型;
    2)case不用加break也可以
  4. 切片:可视为可变长度的数组
    定义:Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。
  5. map:Map 是一种无序的键值对的集合。
    1)Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。
    2)Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,遍历 Map 时返回的键值对的顺序是不确定的。在获取 Map 的值时,如果键不存在,返回该类型的零值,例如 int 类型的零值是 0,string 类型的零值是 ""。
    3)Map 是引用类型,如果将一个 Map 传递给一个函数或赋值给另一个变量,它们都指向同一个底层数据结构,因此对 Map 的修改会影响到所有引用它的变量。
  6. range image.png
  7. 函数
    Go 语言最少有个 main() 函数。
  8. 指针:常用作对参数进行修改
  9. 结构体
type user struct{
    name string
    password string
}
  1. 错误处理:在函数返回值加一个err
  2. 字符串常用函数 image (1).png
  3. 字符串格式化
  4. JSON处理 image (3).png
  5. 时间处理 image (4).png
  6. 进程信息
    进程定义:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
    GO打印进程信息:image (6).png

总结

第一学习Go,学习了Go的基础语法,与我熟悉的Java进行对比学习,记得比较深刻,再接再厉!