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语言程序设计有所帮助。