加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

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

发布时间:2016-12-04 13:27:34 所属栏目:教程 来源:网络整理
导读:本文实例讲述了Go语言通过Luhn算法验证信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: package main import ( nbsp;nbsp;nbsp; "fmt" nbsp;nbsp;nbsp; "strings" ) const input = `49927398716 49927398717 1234

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

复制代码 代码如下:
package main
import (
nbsp;nbsp;nbsp; "fmt"
nbsp;nbsp;nbsp; "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 {
nbsp;nbsp;nbsp; odd := len(s) 1
nbsp;nbsp;nbsp; var sum int
nbsp;nbsp;nbsp; for i, c := range s {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; if c lt; '0' || c gt; '9' {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; return false
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; }
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; if i1 == odd {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; sum += t[c-'0']
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; } else {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; sum += int(c - '0')
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; }
nbsp;nbsp;nbsp; }
nbsp;nbsp;nbsp; return sum%10 == 0
}
func main() {
nbsp;nbsp;nbsp; for _, s := range strings.Split(input, "n") {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; fmt.Println(s, luhn(s))
nbsp;nbsp;nbsp; }
}

输出结果
复制代码 代码如下:49927398716 true
49927398717 false
1234567812345678 false
1234567812345670 true

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

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读