Golang 解析 json 数据

使用 Golang 解析 json 数据,这种 json 格式是对象的数组,官方文档有一个示例:

继续阅读“Golang 解析 json 数据”

Golang map 生成有序的 json 数据

看一段 Golang 生成 json 的代码,首先定义了一个 map[string]interface{}  的变量,然后存一些值,这里要注意的是 previews 字段,为了浏览器获取到的 json 数据是有序的,所以定义了一个 map[int]map[string]string 的类型,加上了一个表示顺序的键:

继续阅读“Golang map 生成有序的 json 数据”

PHP笔试面试题精选(一)

本次课程主要围绕 PHP 面试和笔试中经常会出现的一些知识点,但是面试官会在笔试题基础上深入扩展,那么你知道如何更好的回答让面试官满意吗?题目收集自腾讯,迅雷,美图等公司的笔试面试题,以及本人面试经历中印象中的知识点,同时也分享一些面试的经验,相信对你一定有很大的参考价值。

继续阅读“PHP笔试面试题精选(一)”

defer使用规则

在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。

为了更好的学习defer的行为,我们首先来看下面一段代码:

继续阅读“defer使用规则”

Golang 遍历一个月写法

Golang 遍历一个月每天写法:

使用 goroutine 并发写 map 问题

使用 goroutine 并发写 map 是一个非线程安全的方式,要避免对一个全局变量在 goroutine 中进行写操作,这会导致并发写问题。

以下例子可以触发此类错误:

对于 const 常量和只读全局变量,是线程安全的,但不能并发写。

继续阅读“使用 goroutine 并发写 map 问题”

Golang中的面向对象继承

Golang的面向对象机制与Smalltalk或者Java等传统面向对象的编程语言不同。传统面向对象编程语言的一个重要特性是继承机制。因为继承机制支持在关联对象间进行代码复用和数据共享。继承机制曾在代码复用和数据共享的设计模式占据主导地位,但是目前组合这一古老的技术重新焕发了活力。

继续阅读“Golang中的面向对象继承”