[TOC]
数据卷
是一个可供一个或多个容器使用的特殊目录,它绕过UFS
,可以提供很多有用的特性:
- 数据卷 可以在容器之间共享和重用
- 对 数据卷 的修改会立马生效
- 对 数据卷 的更新,不会影响镜像
- 数据卷 默认会一直存在,即使容器被删除
[TOC]
数据卷
是一个可供一个或多个容器使用的特殊目录,它绕过UFS
,可以提供很多有用的特性:
Go 语言通过编译器运行时(runtime),从语言上支持了并发的特性。Go 语言的并发通过goroutine 特性完成。
goroutine 类似于线程,但可以根据需要创建多个goroutine并发工作
goroutine 是由Go 语言的运行时调度完成,而线程是由操作系统调度完成
Go 语言还提供channel 在多个goroutine 间进行通信。goroutine 和 channel是Go 语言秉承CSP并发模式的重要实现基础。
[TOC]
终于学到包了,前面有忘得差不多了,特别是接口,晕晕乎乎的,期待学完之后的项目实战
Go 语言的源码复用建立在包(package) 基础之上。Go 语言的入口main() 函数所在的包叫main,main 包想要引用别的代码,必须同样以包的方式进行。
[TOC]
接口本身是调用方和实现方均需要遵守的一种协议,大家按照统一的方法命名参数类型和数量来协调逻辑处理的过程。
Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现。而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口。编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现。
非侵入式设计是 Go 语言设计师经过多年的大项目经验总结出来的设计之道。只有让接口和实现者真正解耦,编译速度才能真正提高,项目之间的耦合度也会降低不少。
[TOC]
Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型
Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性
Go 语言中的类型可以被实例化,使用new
或&
构造的类型实例的类型是类型的指针
[TOC]
函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段,其可以提高应用的模块性和代码的重复利用率。
Go 语言支持普通函数、匿名函数和闭包,从设计上对函数进行了优化和改进,让函数使用起来更加方便。
[TOC]
变量在一定程度上能满足函数及代码要求。如果编写一些复杂算法、结构和逻辑,就需要更复杂的类型来实现。这类复杂类型一般情况下具有各种形式的存储和处理数据的功能,将它们称为“容器(container)”。
先简单说下需求吧:
前后端分离项目,一个域名可以访问所有的客户端,例如,我们的项目中前端有单独的访问域名,后端有单独的接口域名,我们的项目存在3个客户端,即小程序端
,boss后台管理端
,console客户端
,按照最简单的业务来解析域名,则需要6个域名。
由于种种原因吧,只能提供一个域名,所以就要借助Nginx的重定向或者rewrite功能;
大致流程和这里基本保持一致,点击查看Nginx单域名配置多Vue工程和PHP接口
先贴一下代码吧: