(i, j int)
| 500 | } |
| 501 | |
| 502 | func (sk sortedKeys) Less(i, j int) bool { |
| 503 | vi := &Value{val: sk[i]} |
| 504 | vj := &Value{val: sk[j]} |
| 505 | switch { |
| 506 | case vi.IsInteger() && vj.IsInteger(): |
| 507 | return vi.Integer() < vj.Integer() |
| 508 | case vi.IsFloat() && vj.IsFloat(): |
| 509 | return vi.Float() < vj.Float() |
| 510 | default: |
| 511 | return vi.String() < vj.String() |
| 512 | } |
| 513 | } |
| 514 | |
| 515 | func (sk sortedKeys) Swap(i, j int) { |
| 516 | sk[i], sk[j] = sk[j], sk[i] |