enum

TypeScript真香系列-枚举

你说的曾经没有我的故事 提交于 2020-02-06 14:06:20
前言 TypeScript真香系列的内容将参考 中文文档 ,但是文中的例子基本不会和文档中的例子重复,对于一些地方也会深入研究。另外,文中一些例子的结果都是在代码没有错误后编译为JavaScript得到的。如果想实际看看TypeScript编译为JavaScript的代码,可以访问TypeScript的 在线编译地址 ,动手操作,印象更加深刻。 概念 枚举是对JavaScript标准数据类型集的扩充,常被用来限定在一定范围内取值的场景。在TypeScript中支持数字和字符串的枚举。我们可以用 enum 来实现。 数字枚举 先看看一个数字枚举例子: enum Basketballer { Yao , Yi , Wang } Basketballer . Yao ; //0 Basketballer . Yi ; //1 Basketballer . Wang ; //2 我们也可以这样,下面这个方法被称为反向映射,即通过值来访问键: Basketballer [ 0 ] ; //"Yao" Basketballer [ 1 ] ; //"Yi" Basketballer [ 2 ] ; //"Wang" Basketballer [ 3 ] ; //undefined 上面的例子,我们没有对Yao或者其它成员进行初始化,如果我们进行初始化: enum Basketballer {

c++11(2)-枚举类enum class

假装没事ソ 提交于 2020-02-02 05:49:15
enum class Enumeration { Val1 , Val2 , Val3 = 100 , Val4 /* = 101 */ , } ; 此种枚举为类型安全的。枚举类型不能隐式地转换为整数;也无法与整数数值做比较。 # include <iostream> using namespace std ; int main ( int argc , char * * argv ) { enum class Status { RUN , ERROR , FINISHED , START , STOP } ; Status proStatus1 { Status :: START } ; Status ProStatus2 { Status :: ERROR } ; Status nowStatus ; nowStatus = Status :: STOP ; for ( int i = 0 ; i < 2 ; i ++ ) { if ( nowStatus == Status :: STOP ) { nowStatus = Status :: START ; } else if ( nowStatus == Status :: START ) { nowStatus = Status :: RUN ; } } cout << ( long ) nowStatus ;

C++数据类型

人走茶凉 提交于 2020-02-02 02:36:26
C++数据类型 1.C++基本类型 类型 关键字 布尔 bool 字符 char 整型 int 浮点 float/double 字符串 string 无类型 void 宽字符型 wchar_t 修饰符 类型 关键字 long 长类型 short 短类型 unsigned 无符号类型 signed 有符号类型 unsigned int 相当于无负号的 int ,即无符号类型永远大于零 int a=20; unsigned int b=-20; cout<<a<<" "<<b<<endl; 这段代码的输出为 20 20 类型范围 类型 位 范围 char 1 个字节 -128 到 127 或者 0 到 255 unsigned char 1 个字节 0 到 255 signed char 1 个字节 -128 到 127 int 4 个字节 -2147483648 到 2147483647 unsigned int 4 个字节 0 到 4294967295 signed int 4 个字节 -2147483648 到 2147483647 short int 2 个字节 -32768 到 32767 unsigned short int 2 个字节 0 到 65,535 signed short int 2 个字节 -32768 到 32767 long int 8 个字节 -9

Java 枚举类型 enum

℡╲_俬逩灬. 提交于 2020-01-30 13:27:10
枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。一个枚举的实例可以使用枚举项列表中任意单一项的值。枚举在各个语言当中都有着广泛的应用,通常用来表示诸如颜色、方式、类别、状态等等数目有限、形式离散、表达又极为明确的量。Java从JDK5开始,引入了对枚举的支持。 可替代final常量 来源: CSDN 作者: 戴** 链接: https://blog.csdn.net/qq_39992641/article/details/104113255

Java枚举全面讲解

a 夏天 提交于 2020-01-29 13:46:08
枚举是什么 枚举是Java1.5引入的新特性。通过关键字enum来定义枚举,枚举是一种特殊的类,它和普通的类一样可以定义构造器,成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类。 创建枚举类 创建枚举必须使用enum关键字 public enum Color { RED , GREEN , YELLOW , BLACK ; } 使用枚举 public class EnumMethodTest { public static void main ( String [ ] args ) { System . out . println ( Color . GREEN ) ; System . out . println ( Color . YELLOW ) ; System . out . println ( Color . RED ) ; System . out . println ( Color . BLACK ) ; //运行结果 //GREEN //YELLOW //RED //BLACK } } 这样只是知道枚举简单的使用方法,不能看出枚举的特点和枚举的具体实现。 下面通过XJad工具反编译Color枚举类 public final class Color extends Enum { //在enum中声明的变量都对应一个枚举对象,而且都是不可变的常量

C# 枚举(Enum)

霸气de小男生 提交于 2020-01-29 05:24:37
C# 枚举(Enum) 枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。 声明 enum 变量 声明枚举的一般语法: enum < enum_name > { enumeration list } ; 其中, enum_name 指定枚举的类型名称。 enumeration list 是一个用逗号分隔的标识符列表。 枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0.例如: enum Days { Sun , Mon , tue , Wed , thu , Fri , Sat } ; 下面的实例演示了枚举变量的用法: 实例 using System ; public class EnumTest { enum Day { Sun , Mon , Tue , Wed , Thu , Fri , Sat } ; static void Main ( ) { int x = ( int ) Day . Sun ; int y = ( int ) Day . Fri ; Console . WriteLine ( "Sun = {0}" , x ) ; Console . WriteLine ( "Fri = {0}" , y ) ; } }

使用枚举enum来代替if/else

一曲冷凌霜 提交于 2020-01-29 01:27:11
这里写自定义目录标题 使用枚举enum来代替if/else 举个栗子 第一步:建一个vip接口,用于标识会员拥有的权力 第二步:建立一个vip的枚举 第三步:使用枚举 使用枚举enum来代替if/else 在平时的代码中,if/else肯定是必不可少,但是有时使用if/else却不是代码的最好选择,下面介绍下平时会在实际工作代码中使用到的用enum来代替if/else的写法. 举个栗子 现在有个需求,我们公司有vip等级,1,2,3,根据等级高低,能获取不同的优惠信息,最简单也最容易想到的代码是: //获取折扣信息 public static void main(String[] args) { int vipLevel = 2;//业务中获取到会员等级 VipService.getDiscount(vipLevel);//根据会员等级拿到折扣信息 } //获取折扣信息 public static double getDiscount(int vipLevel) { if (vipLevel == 1) { return 0.95; } else if (vipLevel == 2) { return 0.8; } else if (vipLevel == 3) { return 0.7; } else { return 1; } } 然而问题是如果将来要多一个vip4

Enum-枚举的用法

孤者浪人 提交于 2020-01-28 23:06:31
public enum BedType { [Description("单人床")] SINGLE = 1, [Description("大床")] DOUBLE = 2, [Description("上下铺")] BUNK = 3, [Description("通铺")] DORM_BED = 4, [Description("榻榻米")] TATAMI = 5, [Description("水床")] WATER_BED = 6, [Description("圆床")] ROUND_BED = 7, [Description("折叠床")] FOLDING_BED = 8, [Description("婴儿床")] BABY_COT = 9, [Description("拼床")] CONNECTED_BED = 10, [Description("其它")] OTHERS = 11 } /// <summary> /// 返回描述值 例:同意 [Description("同意")] /// </summary> /// <param name="source">Enum.Attribute</param> /// <returns>Description</returns> public static string GetDescription(Enum source) {

java Enum一些方法

坚强是说给别人听的谎言 提交于 2020-01-28 09:52:48
定义一个enum类Config 1.Config.values()将枚举类转变为一个枚举类型的数组,可以用来做循环,如for(Config config:Config.values()) 2.ordinal()获取枚举值对应索引号,从0开始 3.Config.values().length获取Config长度,也就是获取其中有几个元素 4.获取对应索引位置的枚举值Config.values()[i].getValue(),i表示索引号,getValue是Config里的方法,这个和第一条呼应,因为Config.values()是一个枚举类型数组,所以Config.values()[i]就表示第i个索引对应的数据。 public String value(String body){ System.out.println("startlength"+Config.values().length); int j=0; int i=0; // for(int i=0;i<Config.values().length-1;i++){ for(Config config:Config.values()) { if (body.toUpperCase().equals(config.getDesc())) { System.out.println("config.getDesc():" +

V4L2编程初体验

有些话、适合烂在心里 提交于 2020-01-28 08:20:10
内容摘要: Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video2下。 最近想做智能机器人,想加上视频采集这个模块,于是对linux下的视频方面的编程产生了兴趣,首先从入门开始吧! 一、Video for Linux Tow 在Linux下,所有外设都被看成一种特殊的文件,成为“设备文件”,可以象访问普通文件一样对其进行读写。一般来说,采用V4L2驱动的摄像头设备文件是/dev/v4l/video0。为了通用,可以建立一个到/dev/video0的链接。V4L2支持两种方式来采集图像:内存映射方式(mmap)和直接读取方式(read)。V4L2在include/linux/videodev.h文件中定义了一些重要的数据结构,在采集图像的过程中,就是通过对这些数据的操作来获得最终的图像数据。Linux系统V4L2的能力可在Linux内核编译阶段配置,默认情况下都有此开发接口。V4L2从Linux 2.5.x版本的内核中开始出现。