go - if语句的多重赋值

标签 go

是否可以通过if条件执行多次赋值,如下面的代码?

func SendEmail(url, email string) (string, error) {

    genUri := buildUri()
    if err := setRedisIdentity(genUri, email); err != nil; genUrl, err := buildActivateUrl(url, genUri);  {
        return "", err
    }  

    return "test", nil

}

最佳答案

看起来你想要这样的东西:

package main

import "fmt"

func a(int) int { return 7 }

func b(int) int { return 42 }

func main() {
    if x, y := a(1), b(2); x > 0 && x < y {
        fmt.Println("sometimes")
    }
    fmt.Println("always")
}

输出:

sometimes
always

关于go - if语句的多重赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25282572/

相关文章:

go - 使用 go 连接到谷歌云数据存储

go - 如何使用 GORM (Go) 进行级联操作

go - 如何在运行已编译的 golang 程序时使用配置文件

go - 使用反射迭代结构的结构成员并在其上调用方法

c++ - 字符串参数

go - 多个go例程的一个障碍

multithreading - 如何安全地与 Golang 中的 goroutine 中的 channel 交互

go - 将字符串 slice 尝试索引方法抽象为所有 slice 类型

go - 在 Go Lang 中导入自定义包时出错

go - 如何将 UTC 时间转换为 unix 时间戳