当前位置 博文首页 > Go语言通过Luhn算法验证信用卡卡号是否有效的方法

    Go语言通过Luhn算法验证信用卡卡号是否有效的方法

    作者:heishui 时间:2021-02-15 18:37

    本文实例讲述了Go语言通过Luhn算法验证信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下:

    复制代码 代码如下:

    package main
    import (
        "fmt"
        "strings"
    )
    const input = `49927398716
    49927398717
    1234567812345678
    1234567812345670`
    var t = [...]int{0, 2, 4, 6, 8, 1, 3, 5, 7, 9}
    func luhn(s string) bool {
        odd := len(s) & 1
        var sum int
        for i, c := range s {
            if c < '0' || c > '9' {
                return false
            }
            if i&1 == odd {
                sum += t[c-'0']
            } else {
                sum += int(c - '0')
            }
        }
        return sum%10 == 0
    }
    func main() {
        for _, s := range strings.Split(input, "\n") {
            fmt.Println(s, luhn(s))
        }
    }

    输出结果

    复制代码 代码如下:
    49927398716 true
    49927398717 false
    1234567812345678 false
    1234567812345670 true

    希望本文所述对大家的Go语言程序设计有所帮助。

    js
    下一篇:没有了