Go 语言学习

Go 语言的特点

Go 语言学习_第1张图片

runtime 类似虚拟机

Go 语言学习_第2张图片

环境搭建

工作区和GoPath
Go 语言学习_第3张图片
Go 语言学习_第4张图片
Go 语言学习_第5张图片
Go 语言学习_第6张图片
Go 语言学习_第7张图片
Go 语言学习_第8张图片
Go 语言学习_第9张图片
Go 语言学习_第10张图片
其实就是源程序的入口

Go 语言学习_第11张图片
Go 语言学习_第12张图片
Go 语言学习_第13张图片

Go 语言命令行工具介绍

Go 语言学习_第14张图片
Go 语言学习_第15张图片
Go 语言学习_第16张图片

Go 基础语法-- 关键子,标识符

Go 语言学习_第17张图片

Go 语言学习_第18张图片

基本 写法

Go 语言学习_第19张图片

要想生成可执行文件,就得到在package main 下书写 main 文件

基础语法–package
Go 语言学习_第20张图片
基础语法–import
Go 语言学习_第21张图片

Go 语言学习_第22张图片
Go 语言学习_第23张图片
Go 语言学习_第24张图片
Go 语言学习_第25张图片

Go语言数据类型
Go 语言学习_第26张图片
string 统一是utf-8进行编码的

Go 语言学习_第27张图片
计算 基本数据类型大小

Go 语言学习_第28张图片
Go 语言学习_第29张图片
起别名操作
Go 语言学习_第30张图片

Go 语言学习_第31张图片

Go 变量 与常量,变量声明,初始化与赋值

Go 语言学习_第32张图片
go 语言不允许声明无用变量Go 语言学习_第33张图片
下划线就是不用的变量,丢掉下划线垃圾桶,自动丢掉了

GO 语言 必须有显示转换
Go 语言学习_第34张图片

Go 语言学习_第35张图片

理解如何转化过来的,就理解了如何声明
Go 语言学习_第36张图片

类型转换写法:
Go 语言学习_第37张图片
Go 语言学习_第38张图片
兼容类型 之间转化 是 有精度受损失,不同类型之间不能转换的
Go 语言学习_第39张图片
Go 语言学习_第40张图片
常量,不支持派生类型
定义常量的函数,只能是内置函数,其他自己定义的函数会报错
Go 语言学习_第41张图片
Go 语言学习_第42张图片
在这里插入图片描述

iota
Go 语言学习_第43张图片

Go 语言学习_第44张图片
跳指使用法
Go 语言学习_第45张图片
插值使用法
Go 语言学习_第46张图片
表达式 自动隐式继承
Go 语言学习_第47张图片
在同一行 iota 不加值
Go 语言学习_第48张图片

内建方法
make
Go 语言学习_第49张图片
new
Go 语言学习_第50张图片

更多例子参考 goland

append&delete©
Go 语言学习_第51张图片
Go 语言学习_第52张图片
性能要求高的情况下,需要尽量定长。
Go 语言学习_第53张图片
Go 语言学习_第54张图片

panic& recover
error 是业务的一部分
panic 是不允许程序继续运行下去的错误,要revocer
Go 语言学习_第55张图片
简单用法
Go 语言学习_第56张图片
工作实际使用:
Go 语言学习_第57张图片
Go 语言学习_第58张图片
Go 语言学习_第59张图片
len&cap&close

Go 语言学习_第60张图片
Go 语言学习_第61张图片
长度是 实际长度
容量是指不用操作内存了

关闭channel 就可以,不让 他们向channel 里面写数据了,方便控制一些业务,
项目中真实写法,后面可以追加一些业务流程
Go 语言学习_第62张图片

结构体

就是若干字段的集合
就是咱们说到的面向对象的实现

使用type 进行定义
Go 语言学习_第63张图片

Go 语言学习_第64张图片
Go 语言学习_第65张图片
这就更加验证了 new出来返回的是一个指针
Go 语言学习_第66张图片

属性以及函数(函数 区分作用域 也是通过大小写来控制的)
Go 语言学习_第67张图片
在mian 函数中,成功暴露出来,如果run是小写,就没有暴露出来,和变量是同样的道理
Go 语言学习_第68张图片

结构体组合:
Go 语言学习_第69张图片
dog 包含了animal所有的属性和方法Go 语言学习_第70张图片

接口(隐式实现)

Go 语言学习_第71张图片
Go 语言学习_第72张图片
其实已经隐式实现

多态
Go 语言学习_第73张图片
Go 语言学习_第74张图片

省略接口的声明,并使用 接口定义方法
Go 语言学习_第75张图片

并发概述

Go 语言学习_第76张图片
Go 语言学习_第77张图片
设置运行cpu个数,通常 跑-1
个核心
Go 语言学习_第78张图片
xiecheng 通信

Go 语言学习_第79张图片
chan 如何申请公共变量,以及如何发送数据
Go 语言学习_第80张图片
Go 语言学习_第81张图片

main 函数进行应用
Go 语言学习_第82张图片
select 语句针对接受语句来说的,随机选择channel
Go 语言学习_第83张图片
Go 语言学习_第84张图片

xiecheng同步

写文件 后 再读文件
Go 语言学习_第85张图片
Go 语言学习_第86张图片
Go 语言学习_第87张图片
Go 语言学习_第88张图片
Go 语言学习_第89张图片

指针

Go 语言学习_第90张图片
Go 语言学习_第91张图片

Go 语言学习_第92张图片
指针数组& 数组指针
var a [10]int
Go 语言学习_第93张图片
Go 语言学习_第94张图片

JSON

Go 语言学习_第95张图片
Go 语言学习_第96张图片
Go 语言学习_第97张图片
Go 语言学习_第98张图片
注意这个时候结构体内部,大小写问题,是否可以被外部的包调用到
Go 语言学习_第99张图片
Go 语言学习_第100张图片
因为什么类型都可以有,所以要用 interface{} j结构
Go 语言学习_第101张图片
这个就是tag ,key 发生了变化
Go 语言学习_第102张图片
Go 语言学习_第103张图片
注意 key 应该和 tag 对其

Go 语言学习_第104张图片

语法糖

Go 语言学习_第105张图片
Go 语言学习_第106张图片

Module

go mod init module名字
Go 语言学习_第107张图片
Go 语言学习_第108张图片
Go 语言学习_第109张图片

go graph 打印依赖
Go 语言学习_第110张图片
go mod download 将依赖进行下载

其他命令用的时候在看
Go 语言学习_第111张图片

你可能感兴趣的:(JavaCore,go)