Go语言实战笔记(十)| Go 嵌入类型

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。

嵌入类型,或者嵌套类型,这是一种可以把已有的类型声明在新的类型里的一种方式,这种功能对代码复用非常重要。

在其他语言中,有继承可以做同样的事情,但是在Go语言中,没有继承的概念,Go提倡的代码复用的方式是组合,所以这也是嵌入类型的意义所在,组合而不是继 …

阅读全文

Go语言实战笔记(九)| Go 接口

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。

接口是一种约定,它是一个抽象的类型,和我们见到的具体的类型如int、map、slice等不一样。具体的类型,我们可以知道它是什么,并且可以知道可以用它做什么;但是接口不一样,接口是抽象的,它只有一组接口方法,我们并不知道它的内部实现,所以我们不知道接口是 …

阅读全文

Android Gradle实用技巧(六) | 自动化多渠道快速打包APK

Android Gradle 更多知识,欢迎关注公众号flysnow_org,第一时间看。

在Android Gradle中,定义了一个叫Build Variant的概念,直译是构建变体,我喜欢叫它为构件-构建的产物(Apk),一个Build Variant=Build Type+Product Flavor,Build Type就是我们构建的类型,比 …

阅读全文

Go语言实战笔记(八)| Go 函数方法

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。

在Go语言中,函数和方法不太一样,有明确的概念区分。其他语言中,比如Java,一般来说,函数就是方法,方法就是函数,但是在Go语言中,函数是指不属于任何结构体、类型的方法,也就是说,函数是没有接收者的;而方法是有接收者的,我们说的方法要么是属于一个结构体 …

阅读全文

Android Gradle实用技巧(五) | 善用AndroidManifest占位符

Android Gradle必备使用技巧,未完待续,欢迎关注公众号flysnow_org,第一时间看后续技巧。

占位符,其实是一个可以被替换的临时标记,比如${name},我们就可以使用真实的name变量的值替换这个占位符,达到可以动态的修改这个占位符的目的。所以AndroidManifest文件的占位符,其实是帮助我们动态修 …

阅读全文

Go语言实战笔记(七)| Go 类型

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。

Go 语言是一种静态类型的编程语言,所以在编译器进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么。

提前知道值的类型的好处有很多,比如编译器可以合理的使用这些值,可以进一步优化代码,提高执行的 …

阅读全文

Go语言实战笔记(六)| Go Map

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。

书里把Map翻译为映射,我觉得太硬,所以这篇文章里,我还是用英文Map。

Map是一种数据结构,是一个集合,用于存储一系列无序的键值对。它基于键存储的,键就像一个索引一样,这也是Map强大的地方,可以快速快速检索数据,键指向与该键关联的值。 …

阅读全文

Android Gradle实用技巧(四) | 自动瘦身APK文件

Android Gradle必备使用技巧,未完待续,欢迎关注公众号flysnow_org,第一时间看后续技巧。

随着工程越来越大,功能越来越多,开发人员越来越多,代码越来越复杂,不可避免的会产生一些不在使用的资源,这类资源如果没有清理的话,会增加我们Apk的包大小,也会增加构建的时候。

要清理这些无用的资源,第一个办法是我们在开发的过程中,把不再使用 …

阅读全文

Android Gradle实用技巧(三) | 批量控制生成的APK文件名

Android Gradle必备使用技巧,未完待续,欢迎关注公众号flysnow_org,第一时间看后续技巧。

在讲批量修改APK文件名之前,我们讲一下关于Android Gradle插件集成的Task任务问题。普通的Java工程比较简单,因为它有一个有限的任务集合,而且它的属性或者方法都是Java Gradle插件添加的,比较固定,而且我们访问任务以 …

阅读全文

Go语言实战笔记(五)| Go 切片

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。

切片也是一种数据结构,它和数组非常相似,因为他是围绕动态数组的概念设计的,可以按需自动改变大小,使用这种结构,可以更方便的管理和使用数据集合。

内部实现

切片是基于数组实现的,它的底层是数组,它自己本身非常小,可以理解为对底层数组的抽象。因为机遇数组 …

阅读全文