我们通常意义上的常量其实和英语中的常量这个单词不是一个意思,汉语中的常量对应的是 Literal(字面值),而不是 Constant(常量)。 这里我们分别讲一下这两个内容,大家就会有自己的对于“常量”的相关的认识了。 1. 字面值 字面值通常用来表示一个固定的值。这些值可以直接用在程序中,而不需要像变量一样经过声明和初始化以后才可以使用。 字面值分为以下几种: 1.1 整数 这里的整数包含十进制
什么是标准?标准是对重复性事物和概念所做的统一规定,他以科学技术和实践经验的结合成果为基础,经有关方面协商一致,由主管机构批准,以特定形式发布作为共同遵守的准则和依据。 在这个标准概念大行其道的今天,如果大家在生活中稍微注意一下,其实可以很容易发现,我们生活在一个标准化的世界里,每个产品的外包装或者标签上都会注明相应的执行标准。标准贯穿着我们的衣食住行。。总而言之,标准无处不在。 当然标准具有行业
上一个小节 C 语言的程序结构中我们简单的认识了一下 C 语言的程序到底由那些部分组成,但是仅仅了解 C 语言的程序结构还不够,仅仅是万里长征走完了第一步,后面还需要进行很多的步骤才能让程序成为一个可以使用的工业产品。还记的上一个小节中我们提到的 gcc 吗?其实这是一个 C 语言的编译器,这一个小节我们就来学习一下编译器这个概念。 1. C 语言编译器 每个语言都需要编译器,甚至包括可以直接操作
在线程不安全的 map 中我们学习了 map 的遍历,里面使用了一个叫 range 的关键字来对 map 进行遍历操作。当时还提到了切片和数组都可以使用这个方法遍历。本文就来详细学习一下 range 关键字的用法。 Tips:本文提及的 map 均是线程不安全的 map。线程安全的 map 及其遍历方法参照 Go 语言中的map 一文。 1. 基本用法 range 可以用来遍历的对象有数组、切片、
本文介绍一种特殊的数据结构。它是一种元素对的无序集合,每一个索引(key)对应一个值(value),这种数据结构在 Go 语言中被称之为 map。map 是一种能够通过索引(key)迅速找到值(value)的数据结构,所以也被称为字典。在 Go 语言中因为线程安全问题,一共实现了两种类型的 map,接下来我们每种都了解一下。 Tips:线程的知识会在Go语言的多线程中讲解。 1. 无锁的map 这
本文主要介绍 Go 语言中的指针。Go 语言中和 C/C++ 一样,直接提供了指针类型,但是不同的是 Go 语言的指针并没有那么高深莫测,因为它是无法进行位移和运算的,它只是一个存储了其它变量地址的变量而已。它在 Go 语言中最大的作用就是在值传递的过程中减少内存消耗,毕竟一个地址的存储开销是十分少的。 1.指针的定义和使用 在 Go 语言中指针类型的声明和 C/C++ 类似,都是采用*符号来区分
Go 语言中有一个特殊的类型 chan,这是在 Go 语言的多线程操作中非常重要的一个数据类型。它的一般用于线程之间的数据传输,所以这个操作类型叫做"通道(channel)"。 1. 通道的声明和定义 通道可以理解为一种特殊的变量,所以它的声明和其它变量的声明并没有太大的区别,声明通道变量的写法如下: var c chan int //声明一个存放int类型数据的通道 但是它声明之后并不能直接使
常量可以理解为是一个存储了不可以改变的值的变量。常量主要用于特殊值的语义化,使这些值在更容易维护的情况下不会被程序所修改。Go 语言中声明常量使用的关键字是const。常量的使用非常广泛,比如说圆周率,再比如说一些明确的错误信息等一些容易被多次使用的值,一般都会使用常量进行实例化,使其在需要更改时,更容易维护,同时增加代码可读性。 1. 单常量定义 常量定义的形式为 const 常量名 常量类型
目录 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 本章讨论
拼写检查 1选择 “编辑 ”>“拼写检查 ”。 2若要设置用于单词的查找和忽略的选项,请单击对话框底部的箭头图标,并根据需要设置选项。 3单击 “开始 ”,即可开始进行拼写检查。 4当 Illustrator 显示出拼写错误的单词或其他可能的错误时,请执行下列操作之一: 单击 “忽略 ”或 “全部忽略 ”继续拼写检查,而不更改特定的单词。 从建议单词列表中选择一个单词,或在顶部的框中键入正确的单词
注: 内容来自官网资料 Language Guide (proto3). 这份指南描述如何使用protocol buffer语言来构建你的protocol buffer数据,包括.proto文件语法和如何从.proto文件生成数据访问类. 覆盖protocol buffers语言的proto3版本, 对于老版本proto2的语法,请参考Proto2语言指南. 这是一个参考指南 - 如果需要逐步渐进
了解ANTLR最好的方法就是实例。构建一个简单的计算器是个不错的主意。为了使它容易理解且保持简单,我们将只允许基本的算术运算符(加、减、乘、除)、括号表达式、整数和变量。 grammar Calc; prog : stat+ ; stat : expr | ID '=' expr ; expr : expr ('*'|'/') expr
语言处理程序 汇编程序 地址寄存器AR、数据寄存器DR、指令寄存器IR对汇编语言透明的不可见,程序计数器PC可见 算术指令 带符号数左移*2或右移/2 SAL算数左移:把目的操作数的低位向高位移,空出低位补0 SAR算术右移:把目的操作数的高位向低位移,空出高位用最高位(符号位)填补 逻辑指令 用于无符号数*2或/2 SHL逻辑左移:移位后空出位补0 SHR逻辑右移:移位后空出位补0 循环移位指令
Solidity是一种智能合约高级语言,运行在HPB的主链之上--即虚拟机(EVM).这种语言首先大范围的使用是在Etherum主链上,现在几乎大部分区块链项目都支持Solidity语言,同样HPB可以完美支持此高级语言。 语言特性 Solidity的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些: 以太坊底层是基
C语言设计模式 关于软件设计方面的书很多,比如《重构》,比如《设计模式》。至于软件开发方式,那就更多了,什么极限编程、精益方法、敏捷方法。随着时间的推移,很多的方法又会被重新提出来。 其实,就我个人看来,不管什么方法都离不开人。一个人写不出二叉树,你怎么让他写?敏捷吗?你写一行,我写一行。还是迭代?写三行,删掉两行,再写三行。项目的成功是偶然的,但是项目的失败却有很多原因,管理混乱、需求混乱、设计