Go 语言的特点
runtime 类似虚拟机
环境搭建
工作区和GoPath
其实就是源程序的入口
Go 语言命令行工具介绍
Go 基础语法-- 关键子,标识符
基本 写法
要想生成可执行文件,就得到在package main 下书写 main 文件
基础语法–package
基础语法–import
Go语言数据类型
string 统一是utf-8进行编码的
计算 基本数据类型大小
起别名操作
Go 变量 与常量,变量声明,初始化与赋值
go 语言不允许声明无用变量
下划线就是不用的变量,丢掉下划线垃圾桶,自动丢掉了
GO 语言 必须有显示转换
理解如何转化过来的,就理解了如何声明
类型转换写法:
兼容类型 之间转化 是 有精度受损失,不同类型之间不能转换的
常量,不支持派生类型
定义常量的函数,只能是内置函数,其他自己定义的函数会报错
iota
跳指使用法
插值使用法
表达式 自动隐式继承
在同一行 iota 不加值
内建方法
make
new
更多例子参考 goland
append&delete©
性能要求高的情况下,需要尽量定长。
panic& recover
error 是业务的一部分
panic 是不允许程序继续运行下去的错误,要revocer
简单用法
工作实际使用:
len&cap&close
长度是 实际长度
容量是指不用操作内存了
关闭channel 就可以,不让 他们向channel 里面写数据了,方便控制一些业务,
项目中真实写法,后面可以追加一些业务流程
结构体
就是若干字段的集合
就是咱们说到的面向对象的实现
使用type 进行定义
这就更加验证了 new出来返回的是一个指针
属性以及函数(函数 区分作用域 也是通过大小写来控制的)
在mian 函数中,成功暴露出来,如果run是小写,就没有暴露出来,和变量是同样的道理
结构体组合:
dog 包含了animal所有的属性和方法
接口(隐式实现)
其实已经隐式实现
多态
省略接口的声明,并使用 接口定义方法
并发概述
设置运行cpu个数,通常 跑-1
个核心
xiecheng 通信
chan 如何申请公共变量,以及如何发送数据
main 函数进行应用
select 语句针对接受语句来说的,随机选择channel
xiecheng同步
写文件 后 再读文件
指针
指针数组& 数组指针
var a [10]int
JSON
注意这个时候结构体内部,大小写问题,是否可以被外部的包调用到
因为什么类型都可以有,所以要用 interface{} j结构
这个就是tag ,key 发生了变化
注意 key 应该和 tag 对其
语法糖
Module
go mod init module名字
go graph 打印依赖
go mod download 将依赖进行下载
其他命令用的时候在看