Objective-C和Sprite Kit游戏开发从入门到精通
上QQ阅读APP看书,第一时间看更新

2.4 常量

常量,是指在程序运行过程中不会改变的量,一般用来指定一些常数或特殊数值,比如前面提到的圆周率就是一个常数,在代码中,我们就可以使用常量来表示。

代码中,我们可以使用const关键字定义常量,如下面的代码。

    #import <Foundation/Foundation.h>
    const int MaxAge = 150;
    int main(int argc, const char *argv[])
    {
        @autoreleasepool {
            NSLog(@"%i", MaxAge);
        }
        return 0;
    }

另一种创建常量的方法是通过预处理中的#define指令定义宏,模拟常量的使用,如下面的代码。

    #import <Foundation/Foundation.h>
    #define MAX_AGE 150
    int main(int argc, const char *argv[])
    {
        @autoreleasepool {
            NSLog(@"%i", MAX_AGE);
        }
        return 0;
    }

代码同样会显示150。

关于宏的命名,传统的C风格是使用字母全大写,每个单词使用下画线分隔,比如,在Foundation资源中,圆周率就定义为M_PI,我们可以直接在代码中使用它。其中M是数学(Math)的意思,而PI就是π了。

下面的代码,我们就通过圆周率来计算圆的面积。

    #import <Foundation/Foundation.h>
    #define MAX_AGE 150
    int main(int argc, const char *argv[])
    {
        @autoreleasepool {
            double r= 15.0;
            NSLog(@"圆的半径为%Lf,面积为%Lf",  r ,  r*r*M_PI);
        }
        return 0;
    }

在代码中使用常量有两个基本的好处,一是当我们需要修改这个数值时,只在定义的地方修改一次就可以了,而不需要在代码中所有使用此数据的地方修改;第二个好处就是,使用一个有意义的名称来标识数据,可以避免可能的输入错误,要知道,在代码中,如果你写错一点点数据或一个字母,都不知道程序会出什么错。