• 等级
  • 1400049 访问
  • 250 原创
  • 1 转发
  • 1000 排名
  • 1054 评论
  • 1224 获赞

GO 学习笔记——第五天 / 异常,文本文件处理

1.error接口,panic,recover error:输出错误信息 package main import "fmt" import "errors" func main() { err1 := fmt.Errorf("ERROR") fmt.Println(err1) err2 := errors.New("THIS IS ERROR") fmt.Println(err...

2018-12-07 20:35:54

GO 学习笔记——第四天 / 面向对象

1.匿名组合 package main import "fmt" //自定义类型 type XX string type Person struct { name string sex bool age int } type Student struct { //匿名字段 Person id int address string //同名函数 name s...

2018-12-06 14:23:47

GO 学习笔记——第三天 / 复合类型

指针:pointer 数组:array 切片:slice 字典:map 结构体:struct 1.指针 基本概念 package main import "fmt" func main() { var a int = 10 fmt.Println("内存:", a, "地址:", &a) //输出 内存: 10 地址: 0xc00004e080 //保存某个变量的...

2018-11-30 13:57:54

GO语言项目(一)——猜字游戏

用GO语言来写一个逻辑稍微复杂一些的猜字游戏,我们可以先来看下代码 package main import "fmt" import "math/rand" import "time" /* 猜字游戏 1.产生4位随机数 2.终端输入 3.提示 */ //控制输出 var DEBUG bool = false func main() { //随机产生的

2018-11-27 16:53:21

GO 学习笔记——第二天 / 函数,工程管理

1.自定义函数 package main import "fmt" //伪代码 func main() { TestFun(1, 2, 3, 4, 5, 6) } //无参无返回值 func TestFun() { fmt.Println("TestFun null") } //有参无返回值 func TestFun(a int, b int) { fmt.Println(&quo

2018-11-22 16:03:15

GO 学习笔记——第一天 / 类型,流程控制

1.常量和变量 变量 概念:变量就是程序运行期间可以改变的量 声明: var a int 注意:局部变量声明后一定要使用,不然报declared and not used 赋值: a = 10 初始化: var a int = 10 自动推导类型: a := 10 区别: package main import "fmt" func main() { //初始化 var a in...

2018-11-20 20:25:24

GO 学习笔记——基础概括

语言简介 GO语言全称Golang,发布时间:2009/11/10 GO语言的优势: 可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。 静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。 语言层面支持并发,这个就是Go最大的特色,天生的支持并发,天生...

2018-11-20 20:18:33

Android开发艺术探索完结篇——天道酬勤

这片文章发布,代表着我已经把本书和看完并且笔记也发布完成了,回忆了一下我看Android群英传,只用了两个月,但是看本书却花了2016年05月04日 - 2018年07月16日,整整两年多,真是惭愧 笔记链接 Android开发艺术探索——新的征程,程序人生路漫漫! Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式 Android开发艺术探索——第二章:IPC...

2018-07-16 17:03:20

Android开发艺术探索——第十五章:Android性能优化

这一章所介绍的是Android的性能优化方法和程序设计的一些思想,通过本章的内容,读者可以快速的掌握性能优化的方法 性能优化的一个很重要的问题就是内存泄漏,内存泄漏并不会导致程序功能异常,但是会导致你的应用内存暂用过大,而且比较难发现,所以一般会借助一些功能,所以我们会讲MAT的使用 在做程序设计的时候,除了要完成功能开发,提高程序的性能意外,还有一个就是代码的可维护性和可扩展,如果这个程序的...

2018-07-16 16:44:33

Android开发艺术探索——第十四章:JNI和NDK编程

JNI的意思是Java Native Interface(java本地接口),它是为了方便java调用C,C++等本地代码所封装的一层接口,我们都知道,JAVA的优点是跨平台,但是作为有蒂娜的同时,其在本地交互的时候出现了短板,java的跨平台性导致了本地交互的能力不够强大,一些和操作系统相关的特性无法满足,这才出现了java JNI NDK是android所提供的一个工具借,通过NDK可以在a...

2018-07-13 15:01:45

Android开发艺术探索——第十三章:综合技术

这章主要是说如何收集Crash,如何解决65536问题,动态加载的方案以及反编译 一.使用CrashHandler来获取应用的crash Android不可避免的会发生crash,也称之为崩溃,无论你的程序写得有多么完美,总是无法完全避免崩溃的存在。有可能java层也有可能底层,所以我们需要收集到相关的日志来解决问题,所以Thread给我们提供了一个setDefaultUncaughtExce...

2018-07-11 13:46:12

Android开发艺术探索——第十二章:Bitmap的加载和Cache

这章讲述的是Bitmap的加载和Cache,主要包含三个方面的内容,首先讲述如何有效的加载一个Bitmap,这是一个很有意义的话题,由于Bitmap的特殊性以及Android对单个应用所施加的内存限制,比如16MB,这就导致加载Bitmao的时候很容易的出现内存溢出: java.lang.OutofMemoryError:bitmap size exceeds VM budget 因此如何高效...

2018-07-11 13:44:19

Android开发艺术探索——第十一章:Android的线程和线程池

这一章比较有趣,说的是线程和线程池,线程在Android中是一个很重要的概念,他分为主线程和子线程,主线程负责UI操作,子线程负责耗时操作,由于Android的特性,主线程耗时过长就会无响应,因此耗时操作必须放在子线程中去执行,除了Thread本身之外,Android自身还有一些线程类,比如AsyncTask和IntentService,像HandlerThread也算是一种特殊的线程,尽管Asy...

2018-07-05 20:04:32

Android开发艺术探索——第十章:Android的消息机制

一.Android的消息机制概述 前面提到,Android的消息机制主要是指Handler的运行机制以及所附带的MessageQueue和Looper的工作过程,这三者实际上是一个整体,只不过我们在开发的时候比较接触多的是Handler而已,Handler的主要作用是将一个任务切换到某个指定的线程中去执行,那么Android为什么要提供这种功能呢?这是因为android的UI规范不允许子线程更新...

2018-07-04 17:04:19

Android开发艺术探索——第九章:四大组件的工作过程(下)

我們继续来看四大组件的工作过程 一.BroadcastReceiver的工作过程 广播的工作过程,我们主要看两个方面,一个是注册过程,另一个就是接收的过程,我们想使用广播是非常简单的,只需要继承BroadcastReceiver即可 class TestReceiver extends BroadcastReceiver{ @Override ...

2018-07-01 16:51:21

Butter Knife注解框架的点点滴滴

Butter Knife这个框架实际上很多人很早就会了,或者说听说了,这里我就不再多赘述了,只是来教一下大家如何去快速上手和使用 一.配置 我们在项目app/build.gradle中添加依赖 implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-...

2018-06-27 11:48:27

QT开发(十一)——项目实战:截图工具

我们继续来写小玩意,本来写了一个记事本,但是很无奈,功能实在是太多了,细节也需要处理的很多,所以很到一半就没写了,这次我们来写一个截图工具,先来看下UI的实现我们要实现的功能不多,但是经典 1.新建截图(全屏) 2.保存截图 3.复制图片到系统粘贴板 4.实时预览桌面 5.右键菜单的实现 大概就是这五个模块了,其中我们的延时使用的是定时器来实现的,好的,来看下吧!一.UIUI很简单,我们用了一个QL

2018-05-09 16:17:07

QT开发(十)—— C++/Qt 开发过程中的一些技巧性总结

我会不定期的把我发现的一些小技巧都总结下来,这样自己就算忘记了,翻翻博客也能找回来,也是极好的。一.C++1.变量的修饰 auto:属于一次性存储,其存储空间可被若干变量重复覆盖使用 register:存放在通用寄存器中 extern:在所有函数和程序段中都可以引用 static:在内存中时以固定地址存放的,在整个程序运行期间都有效 2.显示转换操作符 static_case dynameic_ca

2018-05-08 19:03:52

QT开发(九)—— Qt实现应用内动态切换语言,使用Qt语言家编译字体包

QT的多国语言做的还算是比较好的,我们来看下如何去做大致的可以分为如下几个步骤 1.update生成ts文件 2.使用QT语言家生成qm文件 3.加载语言包 我们先来看下如何生成ts文件,实际上这个很简单,我们有两种办法,首先是用IDE自己去编译,我们需要在pro文件中增加配置信息TRANSLATIONS = Tranlate_EN.ts\ Tranlate_CH.ts

2018-05-07 15:07:17

QT实战-计算器-刘桂林-专题视频课程

使用Qt Creator开发一个具有运算逻辑以及交互逻辑的计算器案例。

2018-04-27 09:10:51

博客专家

刘某人程序员

心有菩提手有刀,欲成舍利却成妖!
关注
  • 计算机软件/Android软件工程师
  • 中国 广东省 深圳市
奖章
  • 博客专家
  • 专栏达人
  • 持之以恒
  • 博客之星