Go语言通过Luhn算法验证信用卡卡号是否有效的方法
本文实例讲述了Go语言通过Luhn算法验证信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下:
packagemain
import(
"fmt"
"strings"
)
constinput=`49927398716
49927398717
1234567812345678
1234567812345670`
vart=[...]int{0,2,4,6,8,1,3,5,7,9}
funcluhn(sstring)bool{
odd:=len(s)&1
varsumint
fori,c:=ranges{
ifc<'0'||c>'9'{
returnfalse
}
ifi&1==odd{
sum+=t[c-'0']
}else{
sum+=int(c-'0')
}
}
returnsum%10==0
}
funcmain(){
for_,s:=rangestrings.Split(input,"\n"){
fmt.Println(s,luhn(s))
}
}
输出结果
49927398716true 49927398717false 1234567812345678false 1234567812345670true
希望本文所述对大家的Go语言程序设计有所帮助。