很多人对互联网项目的理解是容易有个重大误区的 — 就是如何平衡现金流收入和用户规模,常见的选择有二: 1、先挣用户后想盈利模式,打法是资本输血,把用户体量做大,认为有流量就有...
很多人对互联网项目的理解是容易有个重大误区的 — 就是如何平衡现金流收入和用户规模,常见的选择有二: 1、先挣用户后想盈利模式,打法是资本输血,把用户体量做大,认为有流量就有...
原文请移步我的博客:TCMalloc解密 写在前面 本文首先简单介绍TCMalloc及其使用方法,然后解释TCMalloc替代系统的内存分配函数的原理,然后从宏观上讨论其内存...
Go提供了test工具用于代码的单元测试,test工具会查找包下以_test.go结尾的文件,调用测试文件中以Test或Benchmark开头的函数并给出运行结果 Test函...
并发编程开发将一个过程按照并行算法拆分为多个可以独立执行的代码块,从而充分利用多核和多处理器提高系统吞吐率 顺序、并发与并行 顺序是指发起执行的程序只能有一个 并发是指同时发...
反射是指在运行时动态的访问和修改任意类型对象的结构和成员,在go语言中提供reflect包提供反射的功能,每一个变量都有两个属性:类型(Type)和值(Value) Type...
接口是自定义类型,是对是其他类型行为的抽象 定义 接口定义使用interface标识,声明了一系列的函数签名(函数名、函数参数、函数返回值),在定义接口时可以指定接口名称,在...
方法是为特定类型定义的,只能由该类型调用的函数 定义 方法是添加了接收者的函数,接收者必须是自定义的类型 举例: 调用方法通过自定义类型的对象.方法名进行调用,在调用过程中对...
结构体是由一些列属性组成的复合数据类型,每个属性都具有名称、类型和值,结构体将属性组合在一起进行由程序进行处理 自定义类型 在go语言中使用type声明一种新的类型,语法格式...
介绍 Go1.11版本提供Go modules机制对包进行管理,同时保留GOPATH和vendor机制,使用临时环境变量GO111MODULE进行控制,GO111MODULE...
包是函数和数据的集合,将有相关特性的函数和数据放在统一的文件/目录进行管理,每个包都可以作为独立的单元维护并提供给其他项目进行使用 声明 Go源文件都需要在开头使用packa...
函数包含函数名、行参列表、函数体和返回值列表,使用func进行声明,函数无参数或返回值时则形参列表和返回值列表省略 定义&调用 定义 形参列表需要描述参数名及参数类型,所有形...
映射是存储一系列无序的key/value对,通过key来对value进行操作(增、删、改、查)。映射的key只能为可使用==运算符的值类型(字符串、数字、布尔、数组),val...
切片是长度可变的数组(具有相同数据类型的数据项组成的一组长度可变的序列),切片由三部分组成: 指针:指向切片第一个元素指向的数组元素的地址 长度:切片元素的数量 容量:切片开...
数组是具有相同数据类型的数据项组成的一组长度固定的序列,数据项叫做数组的元素,数组的长度必须是非负整数的常量,长度也是类型的一部分 声明 数组声明需要指定组成元素的类型以及存...
我们经常需要代码在满足一定条件时进行执行,或者需要重复执行代码多次,此时需要选择条件语句(if-else if-else)或选择语句(switch case)及循环语句(fo...
布尔类型 布尔类型用于表示真假,类型名为bool,只有两个值true和false,占用一个字节宽度,零值为false 常用操作: 逻辑运算: 与(&&) 只有左、右表达式结果...