我想在我的if
语句中使用初始化语句,该语句实际上使用了几种返回多个值的方法。示例:
func HandleArgs(args ...interface{}) {
// Some additional checks here
if value1, ok1, value2, ok2 := args[0].(string), args[1].(string); ok1 && ok2 {
// Do something
}
}
Go不允许我这样做,出现错误:
assignment mismatch: 4 variables but 2 values
考虑到编译器可以轻松处理一种返回2个值的方法,这更令人困惑:
// it is OK!
if value, ok := args[0].(string); ok {
}
除了将一个if
语句一分为二,这很难看之外,还有什么方法可以做?
答案 0 :(得分:1)
您不能使用以上语法。
您可以像这样对花括号使用作用域。
CREATE TABLE customer (
customer_id INT NOT NULL,
name VARCHAR2(30) NOT NULL,
date_of_birth DATE,
phone_nb CHAR(8) NOT NULL,
address VARCHAR(50),
total_spending FLOAT DEFAULT 0.0 NOT NULL,
PRIMARY KEY ( customer_id )
);