This is a creation in Article, where the information may have evolved or changed. Package Main
Import
"FMT"
"Sort"
"Math/rand"
)
Const
Male = Iota
Female
Unknown
)
var genderstr []string=[]string{"Male", "female", "Unknown",}
Type People struct{
ID int ' ID '
Age int ' age '
Name string ' name '
Gender int ' Gender '
}
Func (P people) String () string{
Return to FMT. Sprintf ("People%q of age%v with ID%v,gender%s\n", P.name,p.age,p.id,genderstr[p.gender])
}
Type Classmate []people
Func (c Classmate) len () int {return Len (c)}
Func (c Classmate) less (i,j int) bool {return c[i]. AGE<C[J]. AGE}
Func (c Classmate) Swap (i,j int) {C[i],c[j]=c[j],c[i]}
Func Main () {
Cs:=make (classmate,10,20)
For I:=0;i<len (CS); i++ {
Cs[i]. Id=i
Cs[i]. Age=rand. INTN (50)
Cs[i]. Name=fmt. Sprintf ("Cs_%v", i)
Cs[i]. Gender=rand. INTN (3)
}
Fmt. PRINTLN (CS)
Sort. Sort (CS)
Fmt. PRINTLN (CS)
}
Screen Output Sample:
[People "Cs_0" of age with ID 0,gender male
People "cs_1" of age, with ID 1,gender unknown
People "cs_2" of age to with ID 2,gender male
People "Cs_3" of age with ID 3,gender unknown
People "Cs_4" of age 6 with ID 4,gender male
People "cs_5" of age, with ID 5,gender female
People "cs_6" of age, with ID 6,gender unknown
People "cs_7" of age-with ID 7,gender unknown
People "cs_8" of age one with ID 8,gender unknown
People "cs_9" of age PNs with ID 9,gender unknown
]
[People "Cs_4" of age 6 with ID 4,gender male
People "cs_8" of age one with ID 8,gender unknown
People "cs_6" of age, with ID 6,gender unknown
People "Cs_3" of age with ID 3,gender unknown
People "cs_7" of age-with ID 7,gender unknown
People "cs_0" of age to with ID 0,gender male
People "cs_2" of age to with ID 2,gender male
People "cs_9" of age PNs with ID 9,gender unknown
People "cs_5" of age, with ID 5,gender female
People "cs_1" of age, with ID 1,gender unknown