在go中会经常拼接复杂的结构和拼接复杂的json字符串
go-sampleJson简单测试
package main
import (
"fmt"
sampleJson "go-simplejson-master"
)
type User struct {
Name string
Age int
}
func main() {
j, _ := sampleJson.NewJson([]byte(`{"Addr":["anhui","bengbu","huiayuan"],"name":"Tsong","Age":28}`))
// fmt.Println()
s, _ := j.Get("name").String()
fmt.Println(s)
v, _ := j.Get("Addr").Array()
fmt.Println(v)
}
go sort() 简单排序的实现
package main
import (
"fmt"
"sort"
)
type User struct {
Name string
Age int
}
type Users []User
type UserMethod interface {
Len() int
Less(i, j int) bool
Swap(i, j int)
}
func (u Users) Len() int {
return len(u)
}
func (u Users) Less(i, j int) bool {
return u[i].Age > u[j].Age
}
func (u Users) Swap(i, j int) {
u[i], u[j] = u[j], u[i]
}
func main() {
a := Users{
{
Name: "2",
Age: 20,
},
{
Name: "4",
Age: 40,
},
{
Name: "1",
Age: 10,
},
{
Name: "3",
Age: 30,
},
}
// a := Users{}
// u := User{
// Name:"1",
// Age :10,
// }
fmt.Println(a.Len())
fmt.Println(a)
fmt.Println(a.Less(1, 2))
a.Swap(1, 2)
fmt.Println(a)
sort.Sort(a)
fmt.Println(a)
sort.Reverse(a)
fmt.Println(a)
// a.Swap()
// fmt.Println(a)
}