-
Notifications
You must be signed in to change notification settings - Fork 1
/
phone.go
34 lines (29 loc) · 865 Bytes
/
phone.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package random
type Phone struct {
Operators string // 归属运营商
Number int // 号码
}
type operators struct {
Name string
Heads []int
}
var dianxin *operators = &operators{"中国电信", []int{133, 149, 153, 173, 177, 180, 181, 189, 191, 199}}
var liantong *operators = &operators{"中国联通", []int{130, 131, 132, 145, 155, 156, 166, 171, 175, 176, 185, 186}}
var yidong *operators = &operators{"中国移动", []int{134, 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 172, 178, 182, 183, 184, 187, 188, 198}}
// Phone 随机手机号码
func (ext *Extend) Phone() *Phone {
var op *operators
switch ext.Intn(3) {
case 0:
op = dianxin
case 1:
op = liantong
case 2:
op = yidong
}
h := op.Heads[ext.Intn(len(op.Heads))] * 100000000
return &Phone{
Operators: op.Name,
Number: h + ext.Intn(100000000),
}
}