- 博客(9)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注
原创 go结构体与JSON序列化
代码示例package mainimport ( "encoding/json" "fmt")type dog struct { Name string `json:"name" db:"name"` Year int `json:"year"`}func main() { d1 := dog{ Name: "布迪", Year: 2020, } // 序列化 b,err := json.Marshal(d1) if err!=nil { fmt.Print
2021-09-24 18:53:06 233
原创 go结构体嵌套和用结构体实现模拟“继承”
什么是结构体嵌套一个结构体中可以嵌套包含另一个结构体或结构体指针示例结构体嵌套package mainimport "fmt"// 桌子结构体type table struct { material string shape int com common // 嵌套结构体}// 被嵌套的结构体定义type common struct { year int}func main() { // 嵌套结构体定义和输出方法 s1 := table{ material:
2021-09-24 10:12:24 1019
原创 go语言实现简单的学生管理系统
介绍总结go语言的基础学习,通过两种方式实现简单的学生信息管理系统方法一package mainimport ( "fmt" "os")// 定义所有学生信息var studentData map[int]*student// 定义学生type student struct { id int64 name string score int}// 初始化分配内存空间func init() { studentData = make(map[int]*student,
2021-09-20 17:42:36 1288
原创 理解 Go 语言中的方法和接收者
Go语言中的 方法(Method) 是一种作用于特定类型变量的函数。这种特定类型变量叫做 接收者(Receiver)。接收者的概念就类似于其他语言中的this或者 self。方法的定义格式如下:func (接收者变量 接收者类型) 方法名(参数列表) (返回参数) { 函数体}其中,接收者变量:接收者中的参数变量名在命名时,官方建议使用接收者类型名称首字母的小写,而不是self、this之类的命名。例如,Person类型的接收者变量应该命名为 p,Connector类型的接收者变量应该
2021-09-16 23:17:58 4238
原创 Go中的构造函数
构造函数介绍Golang作为结构化的语言是没有面向对象语言中的构造方法的,不过可以通过一些方式实现类似的面向对象语言中构造方法的效果。因为 struct 是值类型,如果结构体比较复杂的话,值拷贝 性能开销会比较大,所以该构造函数返回的是结构体指针类型。规范New 关键字开头返回结构体指针示例package mainimport "fmt"// 结构体type dog struct { name string}// NewDog 构造函数func NewDog(n
2021-09-16 22:29:06 569
原创 Go中的 for range 结合 & 取地址的趣味小问题
前言在网上发现一道golang 中的 for range 和 & 取地址结合的题目,感觉很有趣,先来看看演示代码。演示代码package mainimport "fmt"type student struct { name string age int}func main() { m := make(map[string]*student) stus := []student{ {name: "小王子", age: 18}, {name: "娜扎", age:.
2021-09-16 10:45:11 404
原创 Go中的内存对齐演示
机构体占用一块连续的内存:package mainimport "fmt"type test struct { a int8 b int8 c int8 d int8}func main() { type test struct { a int8 b int8 c int8 d int8 } n := test{ 1, 2, 3, 4, } fmt.Printf("n.a %p\n", &n.a) fmt.Printf("n.b %p\n",
2021-09-15 16:03:00 134
原创 Go结构体初始化的几种方式
new初始化结构体指针可以通过使用new关键字对结构体进行实例化,得到的是结构体的地址。 格式如下:package mainimport "fmt"type stu struct { name,address string}func main() { // 结构体指针1 var stu1 = new(stu) stu1.name = "张三" (*stu1).address = "北京" fmt.Println(stu1)}取结构体地址实例化使用&对结构体进行取
2021-09-15 15:07:59 4735
原创 laravel中env底层加载和解析原理
前言我们的应用程序几乎都会遇到不同环境需要不同的配置文件,比如最常见的开发环境需要连接开发数据库,生产需要连接生产库。记的自己曾经有个项目的做法是写两个配置文件,然后定义一个常量IS_PRODUCTION,默认是false,然后根据这个常量取配置文件,因为当时不是自动化部署,最闹心的就是每次上线之后还要去线上服务器手动将这个常量的值改为true。终于使用了laravel和自动化部署开发,完美的解决了不同环境加载不同配置文件,再也不用担心环境多配置文件乱的问题了。今天我们先来看看laravel中env的加
2021-09-02 18:20:59 712
ECShop_V2.7.3_UTF8_完美兼容_jQuery_模式
2016-01-07
ECShop_V2.7.3_UTF8_完美兼容_$_模式
2016-01-07
我把ECShop冲突文件改完之后后台就报这个错,有大神知道这是怎么回事吗? 怎么调?
2016-01-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人