摘要:
总结: 写的话用 bufio.NewWriter() wirter.WriteString() 可扩展性更强 附 如果用户输绝对路径,就输入绝对路径,输入相对路径就拼成绝对路径 fullPath := path.Join(_filePath, _fileName) if !path.IsAbs(fu 阅读全文
摘要:
总结: 写的话用 bufio.NewWriter() wirter.WriteString() 可扩展性更强 附 如果用户输绝对路径,就输入绝对路径,输入相对路径就拼成绝对路径 fullPath := path.Join(_filePath, _fileName) if !path.IsAbs(fu 阅读全文
摘要:
包(package) 包中的变量名/函数名/结构体/接口等,首字母大写可以被别的包调用,小写只能在包内使用 Go语言中禁止循环导入包(a中导入b,b中导入a) package "包名" import "从GOPATH/src下开始找起" // 最后一层写到目录(目录就是包),不要写到xx.go,用" 阅读全文
摘要:
类型断言 作用是判断实现该接口的对象是不是某个类型。可以通过打印空接口的值来推断空接口是什么具体类型。可以通过Printf("%T",x)进行打印,那么..有没有什么方法可以在程序运行中得到空接口的具体类型呢?x.(T) 例如:data, ok := a.(string)x:表示类型为interfa 阅读全文
摘要:
接口是一种类型 (实现多态的特性),规定了其他类型的方法,接口既然是一种类型,那可以做为参数和返回值接口的保存分为两部分:动态类型和动态值 type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表1 方法名2( 参数列表2 ) 返回值列表2 …} 接口没有指针接口这一说,只 阅读全文
摘要:
先定义一对嵌套的结构体 //Student 学生 type Student struct { ID int `json:"id"` // "ID"首字母大写是因为要序列化,必须大写,json包里才能访问。 `json:"id"`是让序列化后,"ID"用小写表示 Gender string `json 阅读全文
摘要:
嵌套结构体 嵌套匿名结构体 //address 地址结构体type address struct { province string city string} //user 用户结构体type user struct { name string gender string //addr addres 阅读全文
摘要:
结构体:就是根据基本类型造自己的类型,结构体占用一块连续的内存 定义结构体用大写还是小写?暂时用小写,如果用大写,别的包也能访问 自定义类型 type myInt int //自定义类型。type后面跟类型,用于给基本类型加方法var n myInt = 100fmt.Printf("%T", n) 阅读全文
|