switch语句使用总结

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiangguiwang/article/details/71156664

switch语句使用总结


背景

        程序里的if-else太多,代码显得乱、逻辑不清晰。这时使用switch语句代替if-else结构的语句是个不错的选择。


switch的语法如下

       switch(表达式的值){

              case值1 :

              语句;

              break;

       case 值2 :

              语句;

              break;

       case 值3 :

              语句;

              break;

       default:

              break;

       }

 switch语句注意事项

        1)case标号必须是整型常量表达式,并且case标号不能具有相同的值,否则编译错误。

        2)如果表达式的值与其中一个case标号的值匹配,则程序将从该标号后面的第一个语句开始依次执行各个语句,直到switch结束或遇到break语句位置。

        3)如果所有case标号与switch表达式的都不匹配,并且default标号存在,则执行default标号后面的语句。

 

举例说明

        下面的代码是根据返回值生成错误信息。代码是nginx模块中的代码。主要作用是根据retVal变量的值,根据其不一样的值生成不同的错误信息并返回。

    int retVal = function();
    ngx_str_t response=ngx_string("");
    string error;
    switch (retVal){
        case -1:
             error ="{\"result\":-1}";
            break;
        case -2:
            error = "{\"result\":-2}";
            break;
        case 0:
            error ="{\"result\":0}";
            break;
        case 1:
            error= "{\"result\":1}";
            break;
        default:
            break;

    }
    response.len = error.length();
    response.data = (u_char *)error.c_str();


总结

       使用switch语句代替if-else结构的语句是个不错的选择。

展开阅读全文

没有更多推荐了,返回首页