摘要:
log包是go语言提供的一个简单的日志记录功能,其中定义了一个结构体类型 ,是整个包的基础部分,包中的其他方法都是围绕这整个结构体创建的. Logger结构 Logger结构的定义如下: mu 是sync.Mutex,它是一个同步互斥锁,用于保证日志记录的原子性. prefix 是输入的日志每一行的 阅读全文
摘要:
o 语言有一个很重要的特性就是 goroutine, 我们可以使用 goroutine 结合 channel 来开发并发程序。 并发程序指的是可以同时运行多个任务的程序,这里的同时运行并不一定指的是同一时刻执行,在单核CPU的机器下,在同一时刻只可能有一个任务在执行,但是由于CPU的速度很快,在不断 阅读全文
摘要:
Go语言中虽然没有传统面向对象语言中类、集成的概念,不过提供了接口的支持,可以使用接口来使用一些面向对象的特性。 在 go 语言中,的接口有下面几个特点: 可以包含0个或多个方法的签名 只定义方法的签名,不包含实现 实现接口不需要显式的声明,只需实现相应方法即可 接口的定义 定义方式如下: 这里的 阅读全文
摘要:
结构体 go语言中的结构体,是一种复合类型,有一组属性构成,这些属性被称为字段。结构体也是值类型,可以使用new来创建。 定义: 我们可以看到每一个字段都由一个名字和一个类型构成,不过实际上,如果我们如果不需要使用某个字段时,可以使用”\_”来代替它的名字 并且结构体字段可以是任意类型,函数,接口, 阅读全文
摘要:
函数声明 函数声明包括函数名,形参列表,返回值列表(可选),函数体组成 其中 parameters 就是函数的形参列表,描述了函数的参数名和参数类型,可以没有参数但是这个括号不可以省略; returns就是返回值列表,描述了函数返回值的变量名(可选)和类型, 如果函数返回一个没有名字的参数或者没有返 阅读全文
摘要:
数组 go语言中数组的特点: 数组的长度是固定的,并且长度也是数组类型的一部分 是值类型,在赋值或者作为参数传递时,会复制整个数组,而不是指针 定义数组的语法: 数组常用操作 访问数组元素 可以直接使用索引值访问 遍历数组 len 和 cap 方法都可以返回数组长度,即元素数量 Slice 切片 s 阅读全文
摘要:
前面的文章中记录了安装 golang 和配置开发环境,本文将学习的 go 命令行命令以及使用场景。 查看可用命令 直接在终端中输入 即可显示所有的 go 命令以及相应命令功能简介,主要有下面这些: build: 编译包和依赖 clean: 移除对象文件 doc: 显示包或者符号的文档 env: 打印 阅读全文
摘要:
go程序的基本结构 一个可以最简单的可运行的go程序需要满足下面两个条件: 有一个main()函数 main()函数在main包中 例如: 在go语言中的 hello world 程序如下: 程序中的 关键字,用来声明文件所属的包(文件所属的包跟文件名是没有关系的),每一个go文件都需要有一个包声明 阅读全文
摘要:
go的安装方式主要有两种,一种直接使用系统自带的软件源来安装,比如 ubuntu 可以直接使用 apt 安装,但通常这种方式安装的都不会是最新的。所以通常直接下载最新的安装包,可以到 "GoCN" 下载。下面就简述一些go语言的安装与配置。 安装go 我使用的是操作系统是 ubuntu16.04,所 阅读全文