用于返回布尔值的类型的Golang开关

时间:2018-10-22 14:28:33

标签: go

我有以下功能,可以要求确定, 但是我想知道是否有 cleaner 用Golang编写的方式

该函数获取一个标志,并根据值(字符串值)提供两个布尔响应(和错误)

func validate(flag string) (bool, bool, error) {
    switch true {
    case flag == "":
        return true, true, nil
    case flag == "types":
        return true, false, nil
    case flag == "ast":
        return false, true, nil
    }

    return false, false, errors.New("wrong order of arguments")
}

1 个答案:

答案 0 :(得分:3)

func validate(flag string) (bool, bool, error) {
    switch flag {
    case "":
        return true, true, nil
    case "types":
        return true, false, nil
    case "ast":
        return false, true, nil
    }

    return false, false, errors.New("wrong order of arguments")
}

请查看docs,以获取对开关的充实描述。