前言 枚举(enum)类型是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量说明为整型,字符型或其它类型显然是不妥当的.为此,C语言提供了一种称为"枚举"的类型.在"枚举"类型的定义中列举出所有可能的取值,被说明为该"枚举"类型的变量取值不能超过定义的范围.应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,…
C语言中的存储类型主要有四种:auto.static.extern.register ★auto存储类型 默认的存储类型.在C语言中,假设忽略了变量的存储类型,那么编译器就会自己主动默认为auto型 ★register存储类型 寄存器变量.寄存器位于CPU,它的特点是:容量小.速度快.它一般用来暂存程序中使用频繁的变量.或者一些中间变量等,能提高程序的运行速度. 此类别的变量会优先分配寄存器. ★static存储类型 static定义的变量都是静态变量,用于限制作用域,不管是全局变量还是局部变量…
今天学习了c语言的枚举类型的使用,可能是PHP里没使用过,开始看的时候还是觉得有点怪,后来做了下例子才理解,这里做个笔记记录一下. #include <stdio.h> enum animals {Cat,Dog,Rat};  // enumeration 是遍历, 列举的意思,这里用 enum 表示枚举变量 可以这样记 e + num ->every num 每一个 ->枚举 // animals 指这个枚举类型的标签名,例如一组蔬菜常量名字可以用 vegetable来做标记,后…
Dart作为一种高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式. 基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承. 所有的类都有同一个基类Object,这和特性类似于Java.Objective-C 等语言,Java所有的类也都是继承自Object,也就是说一切皆对象. //实例化了一个User类的对象user var user = new User('Liming',25); 实例化成员变量 Class User{ String name;…
什么是泛型? 通俗理解:泛型就是解决 类 接口 方法的复用性.以及对不特定数据类型的支持(类型校验) 如下代码,只能返回string类型的数据 String getData(String value){ return value; } 如下代码,同时支持返回 string类型 和int类型 .但是这么些造成代码冗余 String getData1(String value){ return value; } int getData2(int value){ return value; } 如下代…
一.条件语句:if.if...elseif.if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if (80>=score && score<90) { print('良'); } else if (60>=score && score<80) { print('及格'); } else { print('不及格'); } //优秀 二.循环语句:fo…
前言 联合(union)是一种特殊的数据类型,和结构体很像,结构体各成员变量有自己独立的存储位置,而联合的成员变量共享同一片存储区域,因此联合变量再一个时刻只能保存它的某一个成员的值. 联合的定义和初始化 联合的定义方式与结构体是一样的,只是把关键字 struct 改成 union: union [标签名称] { 成员声明列表 }; 下面的例子定义了一个名为Data的联合类型,它有 3 个成员:i.x 和 str: union Data { int i; double x; char str[1…
相比于C/C++语言的int类型,GO语言提供了多种int类型可供选择,有int8.int16.int32.int64.int.uint8.uint16.uint32.uint64.uint. 1.int类型的取值范围 int8: -128 ~ 127 int16: -32768 ~ 32767 int32: -2147483648 ~ 2147483647 int64: -9223372036854775808 ~ 9223372036854775807 uint8: 0 ~ 255 uint…
Dart函数方法可分为两类: 一.内置方法/函数: print(); 二.自定义方法: 自定义方法的基本格式: 返回类型 方法名称(参数1,参数2,...){ 方法体 return 返回值; } void printInfo(){ print('我是一个自定义方法'); } int getNum(){ ; return myNum; } String printUserInfo(){ return 'this is UserInfo'; } List getList(){ ']; } void…
最近工作中遇到了这样的一个场景,需要处理一个无限极分类的问题,对于数据结构的定义首先想到了,map,map[int]map[int]struct.通过两层map的定义归类parent_id和id的关系,然后有个递归进行数据的绑定处理.想想就开心,map确实好用,虽然不是并发安全,但是在查询速度和检查值存在方面确实有优势,然后就开心的写了起来,但是想起来map的输出是无序的.然后就想办法去处理数据的输出.刚开始,思路错了,老想着在数据的绑定层,就处理好,数据的顺序,于是就想着用切片map,map切…