标识符的本质:每个标识符对应一个具有数据结构的值,但是这个值不方便直接访问,我们可以通过对其对应的标识符来访问数据,标识符就是一个指代。命名规范标识符采用CamelCase驼峰命名法如果只在包内可用,就采用小驼峰命名如果要在包外可见,就采用大驼峰命名简单循环变量可以使用i、j、k、v等条件变量、循环变量可以是单个字母或单个单词,Go倾向于使用单个字母。Go建议使用更短小常量驼峰命名即可在其他语言中
Go语言采用并发同步模型教唆Communication Sequential Process通讯顺序进程,这是一种消息传递模型,在goroutine之间传递消息,而不是对数据进行加锁来实现同步访问。在goroutine之间使用channel来同步和传递数据。
IO两个阶段1、数据准备阶段:从谁被读取数据到内核空间的缓冲区。2、内核空间复制回用户空间进程缓冲区阶段。同步阻塞IO 同步非阻塞IO进程调用recvfromc操作,如果IO设备没有准备好,立即返回ERROR,进程不阻塞。用户可以再次发起系统调用(可以轮询),如果内核已经准备好数据,就开始阻塞,然后复制数据到用户空间。虽然不阻塞,但是不断的轮询,CPU处于忙等待。IO多路复用IO多路复用
每一个进程都认为自己独占所有的计算机资源。进程之间不可以随便共享数据。同一个进程内的线程可以共享进程的资源,每一个线程拥有自己独立的堆栈。
MongoDB介绍MongoDB是一种非关系型数据库,C++编写的分布式文档型号数据库,内部使用类似于JSON的bson二进制格式。支持单机、主从(废弃)、副本集、Sharding分片等多种高可用架构。具体参考 https://blog.51cto.com/oldlees/7273362驱动驱动:https://www.mongodb.com/docs/drivers/Go驱动:&nbs
对象关系映射( Object Relational Mapping),指的是对象和关系之间的映射,使用面向对象的方式操作数据库。
连接数据库是典型的CS架构,服务器端被动等待客户端建立TCP连接,并在此连接上进行特定的应用层协议。但一般用户并不需要了解这些细节,这些都被打包到驱动库中,只需要简单的调用打开就可以执行协议连接到指定的数据库。 数据库的种类和产品很多,协议也很多,Go官方很难提供针对不同数据库的驱动程序,往往由各个数据库官方或第三方给出不同的开发语言驱动库。但是,为了Go语言可以提前定义操作一个数据库的所有行为(接口)和数据(结构体)的规范,这些定义在database/sql下
Golang文件操作
1、版本2007年9月25日,Rob Pike在一封回复邮件中把新语言命名为Go。 2009年10月30日,Go语言首次公之于众。 2009年11月10日正式开源,这一天被Go官方确定为Go语言诞生日。 Go语言也拥有了自己的吉祥物(Rob Pike夫人Renee French设计的地鼠)。Go程序员被称为 Gopher。 2012年3月28日,Go 1.0正式发布。 2015年8月19日,Go
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号