三月沙


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 我的书单

  • 技术编年史

开源项目

china_regions

2022年12月

3100

最全最新中国省、市、地区 JSON 及 SQL 数据,包含完整的行政区划信息

查看项目

markdown-css

2025年9月

150

将 CSS 样式转换为 Markdown 内联样式的工具,支持一键排版微信公众号文章

查看项目

app-turbo

2022年11月

128

基于 Tornado 的 Web 框架,简化开发流程,支持扩展和维护

查看项目

devops-ui

2022年12月

22

基于云的运维管理平台,支持应用管理、部署、日志回显和 Consul 服务注册

查看项目

ember-semantic-ui

2022年7月

20

为 Ember 应用提供的 Semantic UI 组件库,丰富的前端 UI 组件

查看项目

ember-cli-simditor

2022年7月

17

Ember 组件封装,集成 Simditor 富文本编辑器

查看项目

使用 cookiecutter 快速构建 Python 项目

Posted on 9月 12 2017 | In python
什么是 cookiecuttercookiecutter 是一款 CLI 用来帮助开发者从模板快速构建项目,比如利用 https://github.com/audreyr/cookiecutter-pypackage Python 开发者可以快速构建 Python 项目。 如何使用?安装 pip i ...
Read more »

Go 中的面向对象

Posted on 8月 17 2017 | In golang
Go 不是基于 class 的语言,但是 Go 提供了强大的类型系统来实现 OO(Object Oriented),关于如何正确使用 OO 的争论网上已经非常多了,在此我们秉承 Go 提供的面向对象机制来实现不同的例子和使用模式,借此了解 Go 中的 OO。 使用 embed type 实现继承Go ...
Read more »

严格来说 Go 没有引用类型

Posted on 8月 10 2017 | In golang
什么是引用类型简单类说就是不同的变量内存地址是一样的,也就是说同一个内存地址有不同的别名。 code-1 1234567>>> dd = dict()>>> c = dd>>> id(c)4476836672>>> id(dd) ...
Read more »

理解 Go channel

Posted on 8月 3 2017 | In golang
此篇介绍 go channel 什么是 goroutine They’re called goroutines because the existing terms — threads, coroutines, processes, and so on — convey inaccurate c ...
Read more »

新手 Go 程序员的最佳实践

Posted on 7月 30 2017 | In golang
无意中在 medium 看到了一篇文章《Best practices for a new Go developer》,读完之后略有启发,摘录文章观点至此共飨,感兴趣读者可以直接阅读原文,原文很长也很散乱。 1工欲善其事必先利其器,真正写用 Go 编写代码之前先准备好你的环境,可以考虑从官方文档 ...
Read more »

理解 Go 类型系统

Posted on 7月 27 2017 | In golang
Type 的分类在 Go 中所有需要被定义和声明的对象都是 Type: int string function pointer interface map struct chan … 和大多数计算机语言一样,Go Type 默认包含常用的基础数据类型,称为 Pre-declarered ty ...
Read more »

理解 Go make 和 new 的区别

Posted on 7月 26 2017 | In golang
new 和 make 都可以用来分配空间,初始化类型,但是它们确有不同。 new(T) 返回的是 T 的指针new(T) 为一个 T 类型新值分配空间并将此空间初始化为 T 的零值,返回的是新值的地址,也就是 T 类型的指针 *T,该指针指向 T 的新分配的零值。 12345678910p1 : ...
Read more »

理解 Go defer

Posted on 7月 23 2017 | In golang
defer 的作用和执行时机go 的 defer 语句是用来延迟执行函数的,而且延迟发生在调用函数 return 之后,比如 1234func a() int { defer b() return 0} b 的执行是发生在 return 0 之后,注意 defer 的语法, ...
Read more »

Go 入门参考资料

Posted on 7月 23 2017 | In golang
go 的入门书籍教程非常多,这里只介绍几个具有代表性的,足够初学者入门参考。 官方教程Language Specificationgo 的语法说明以及语言的组织结构,包含大量的细节解释和说明,值得通读一遍 A Tour of Gogo 官方在线的教程,可执行代码,对 go 语言的执行和抒写有直观的演 ...
Read more »

理解 Go interface 的 5 个关键点

Posted on 7月 22 2017 | In golang

1、interface 是一种类型

1
2
3
4
5

type I interface {
Get() int
}

首先 interface 是一种类型,从它的定义可以看出来用了 type 关键字,更准确的说 interface 是一种具有一组方法的类型,这些方法定义了 interface 的行为。

go 允许不带任何方法的 interface ,这种类型的 interface 叫 empty interface。

如果一个类型实现了一个 interface 中所有方法,我们说类型实现了该 interface,所以所有类型都实现了 empty interface,因为任何一种类型至少实现了 0 个方法。go 没有显式的关键字用来实现 interface,只需要实现 interface 包含的方法即可。

Read more »
1…101112…14

135 posts
26 categories
113 tags
GitHub
© 2026 三月沙
Powered by Hexo
|
Theme — NexT.Mist v5.1.2