Go语言big包:对整数的高精度计算
实际开发中,对于超出 int64 或者 uint64 类型的大数进行计算时,如果对精度没有要求,使用 float32 或者 float64 就可以胜任,但如果对精度有严格要求的时候,我们就不能使用浮点数了,因为浮点数在内存中只能被近似的表示。 Go语言中 math/big 包实现了大数字的多精度计算,支持 Int(有符号整数)、Rat(有理数)和 Float(浮点数)等数字类型。 这些类型可以实现任意位数的数字,只要内存足够大,但缺点是需要更大的内存和处理开销,这使得它们使用起来要比
Django数据迁移时提示 ModuleNotFoundError: No module named R
执行数据迁移时提示找不到对应的APP,错误如下:这个错误主要是路径找不到引起的,只需在settings文件夹中添加app文件路径即可 sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
Go语言sync包与锁:限制线程对变量的访问
Go语言中 sync 包里提供了互斥锁 Mutex 和读写锁 RWMutex 用于处理并发过程中可能出现同时两个或多个协程(或线程)读或写同一个变量的情况。 为什么需要锁 锁是 sync 包中的核心,它主要有两个方法,分别是加锁(Lock)和解锁(Unlock)。 在并发的情况下,多个线程或协程同时其修改一个变量,使用锁能保证在某一时间内,只有一个协程或线程修改这一变量。 不使用锁时,在并发的情况下可能无法得到想要的结果,如下所示: package main imp
Go语言import导入包——在代码中使用其他的代码
可以在一个 Go语言源文件包声明语句之后,其它非导入声明语句之前,包含零到多个导入包声明语句。每个导入声明可以单独指定一个导入路径,也可以通过圆括号同时导入多个导入路径。要引用其他包的标识符,可以使用 import 关键字,导入的包名使用双引号包围,包名是从 GOPATH 开始计算的路径,使用/进行路径分隔。 默认导入的写法 导入有两种基本格式,即单行导入和多行导入,两种导入方法的导入代码效果是一致的。 1) 单行导入 单行导入格式如下: import "包
Go语言常用内置包简介
标准的Go语言代码库中包含了大量的包,并且在安装 Go 的时候多数会自动安装到系统中。我们可以在 $GOROOT/src/pkg 目录中查看这些包。下面简单介绍一些我们开发中常用的包。 1) fmt fmt 包实现了格式化的标准输入输出,这与C语言中的 printf 和 scanf 类似。其中的 fmt.Printf() 和 fmt.Println() 是开发者使用最为频繁的函数。 格式化短语派生于C语言,一些短语(%- 序列)是这样使用: %v:默认格式的值。当
Go语言封装简介及实现细节
在Go语言中封装就是把抽象出来的字段和对字段的操作封装在一起,数据被保护在内部,程序的其它包只能通过被授权的方法,才能对字段进行操作。 封装的好处: 隐藏实现细节; 可以对数据进行验证,保证数据安全合理。 如何体现封装: 对结构体中的属性进行封装; 通过方法,包,实现封装。 封装的实现步骤: 将结构体、字段的首字母小写; 给结构体所在的包提供一个工厂模式的函数,首字母大写,类似一个构造函
Go语言包的基本概念
Go语言是使用包来组织源代码的,包(package)是多个 Go 源码的集合,是一种高级的代码复用方案。Go语言中为我们提供了很多内置包,如 fmt、os、io 等。 任何源代码文件必须属于某个包,同时源码文件的第一行有效代码必须是package pacakgeName 语句,通过该语句声明自己所在的包。 包的基本概念 Go语言的包借助了目录树的组织形式,一般包的名称就是其源文件所在目录的名称,虽然Go语言没有强制要求包名必须和其所在的目录名同名,但还是建议包名和所在目录同名,这
《Web前端开发实例教程——HTML 5+JavaScript+jQuery》PDF下载(高清完整版)
作者:刘瑞新、张兵义、罗东华 出版时间:2018年08月04日 出版社:清华大学出版社 ISBN:9787302499923 总页数:378 总字数:56.9W 这是一本 Web 前端开发教材类用书,采用全新的 Web 标准,适合
C#匿名函数/匿名方法
在 C# 中,可以将匿名函数简单的理解为没有名称只有函数主体的函数。匿名函数提供了一种将代码块作为委托参数传递的技术,它是一个“内联”语句或表达式,可在任何需要委托类型的地方使用。匿名函数可以用来初始化命名委托或传递命名委托作为方法参数。 提示:无需在匿名函数中指定返回类型,返回值类型是从方法体内的 return 语句推断出来的。 匿名函数的语法 匿名函数是通过使用 delegate 关键字创建的委托实例来声明的,如下例所示: delegate
C#正则表达式
正则表达式是一种匹配输入文本的模式,可以用于解析和验证给定文本以及模式之间是否匹配,模式可以包含运算符、字符字面值或结构。 正则表达式的组成 我们可以使用正则表达式检查给定字符串是否与指定模式相匹配。正则表达式的匹配模式由一系列字符组成,其中可以包括数子、文字、运算符、字符等等。我们可以使用这些模式来搜索字符串或文件,并查看是否找到了匹配的项。 开发中我们一般使用正则表达式来验证用户输入的信息是否正确,比如邮箱地址、手机号码等等。下面列举了用于定义正则表达式的各种类别的字符、运算
SQL WHERE子句:指定查询条件
使用 SQL 从单个表或者多表联合查询数据时,可以使用 WHERE 子句指定查询条件。当给定查询条件时,只有满足条件的数据才会被返回。建议您使用 WHERE 子句来过滤记录,以获取必要的结果集。 WHERE 子句不仅可以用在 SELECT 语句中,还可以用在 UPDATE、DELETE 等语句中,我们将在后续章节中进行讲解。 语法 WHERE 子句用于 SELECT 语句时的基本语法如下: SELECT column1, column2, columnN FROM t
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
下面是 Ubuntu 14.04+Django 1.7.1+Nginx+uWSGI 部署教程的完整攻略: 1. 安装必要的软件 在开始部署之前,需要确保你的服务器安装了以下的软件: Nginx:一个高性能的 Web 服务器,可以作为 Web 应用的反向代理服务器 Python 和 pip:Python 是我们使用 django 的必备环境,pip 是 Python 的包管理器,可以方便的安装 Python 库 Virtualenv:虚拟
C++ STL基本组成(6大组件+13个头文件)
通常认为,STL 是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成,其中后面 4 部分是为前 2 部分服务的,它们各自的含义如表 1 所示。 表 1 STL 组成结构 STL的组成 含义 容器 一些封装数据结构的模板类,例如 vector 向量容器、list 列表容器等。 算法 STL 提供了
详解Python re.fullmatch.VERBOSE函数:启用详细模式
re.fullmatch()是Python re库中一种常用的匹配函数,用于在给定字符串(或文本)的整个范围内查找匹配正则表达式的子串,只有整个字符串都与正则表达式匹配时,才算匹配成功。而VERBOSE则是用来忽略正则表达式中的空白以及注释,提高正则表达式可读性的函数。 使用方法 re.fullmatch(pattern, string, flags=0)函数用来匹配整个字符串和正则表达式的完全匹配。参数说明: pattern:正则表达
JS数组转字符串(3种方法)
JavaScript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串,如表所示。 Array 对象的数组与字符串相互转换方法 数组方法 说明 toString() 将数组转换成一个字符串 toLocalString() 把数组转换成本地约定的字符串