分享
  1. 首页
  2. 文章

golang

hotqin888 · · 1779 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

package main
import (
	"fmt"
	//	"path"
	//	"runtime"
	//	"os"
	//	"regexp"
	//	"strings"
	//	"time"
	"encoding/json"
	//	"sort"
)
func main() {
	Example()
}
type List struct {
	Url string
	Source string
	State string
}
type Person struct {
	Name string
	Age int
	Slices []string //slice
	Mapstring map[string]string
	StructArray []List //结构体的切片型
	MapStruct map[string][]List //map:key类型是string或struct,value类型是切片,切片的类型是string或struct
	//	Desks List
}
//func (p Person) String() string {
//	return fmt.Sprintf("%s: %d", p.Name, p.Age)
//}
// ByAge implements sort.Interface for []Person based on
// the Age field.
//type ByAge []Person
//func (a ByAge) Len() int { return len(a) }
//func (a ByAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
//func (a ByAge) Less(i, j int) bool { return a[i].Age < a[j].Age }
func Example() {
	//map 序列化为json
	var m map[string]string = make(map[string]string)
	m["Go"] = "No.1"
	m["Java"] = "No.2"
	m["C"] = "No.3"
	fmt.Println(m)
	list := []List{
		{"upload/1.jpg", "http://a.com/1.jpg", "SUCCESS"},
		{"upload/2.jpg", "http://b.com/2.jpg", "SUCCESS"},
	}
	var mm map[string][]List = make(map[string][]List)
	mm["Go"] = list
	mm["Java"] = list
	//	m["C"] = "No.3"
	fmt.Println(mm)
	people := []Person{
		{"Bob", 31, []string{"hello", "apple"}, m, list, mm},
		//		{"John", 42, []string{"python", "golang"}, m},
		//		{"Michael", 22, []string{"base", "peach", "pear"},map[string]{"a":"haha"}},
		//		{"Jenny", 26, []string{"python", "golang", "pear"},map[string]{"a":"haha"}},
	}
	fmt.Println(people)
	//	sort.Sort(ByAge(people))
	//	fmt.Println(people)
	b, _ := json.Marshal(people)
	fmt.Println(string(b))
	//	if bs, err := json.Marshal(m); err != nil {
	//		panic(err)
	//	} else {
	//		//result --> {"C":"No.3","Go":"No.1","Java":"No.2"}
	//		fmt.Println(string(bs))
	//	}
	// Output:
	// [Bob: 31 John: 42 Michael: 17 Jenny: 26]
	// [Michael: 17 Jenny: 26 Bob: 31 John: 42]
}
//type person struct {
// name string
// age int
//}
//var P person // P现在就是person类型的变量了
//P.name = "Astaxie" // 赋值"Astaxie"给P的name属性.
//P.age = 25 // 赋值"25"给变量P的age属性
//fmt.Printf("The person's name is %s", P.name) // 访问P的name属性.
//除了上面这种P的声明使用之外,还有另外几种声明使用方式:
//1.按照顺序提供初始化值
//复制代码 代码如下:
//P := person{"Tom", 25}
//2.通过field:value的方式初始化,这样可以任意顺序
//复制代码 代码如下:
//P := person{age:24, name:"Tom"}
//3.当然也可以通过new函数分配一个指针,此处P的类型为*person
//复制代码 代码如下:
//P := new(person)


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:hotqin888

查看原文:golang

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1779 次点击
1 回复 | 直到 2022年01月25日 21:26:48
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏