/*题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60 ...
分类:
编程语言 时间:
2020-02-24 19:01:58
阅读次数:
102
1. 函数定义 import "errors" func Add(a int, b int) (ret int, err error) { if a < 0 || b < 0 { err = errors.New("必须是非负数") } return a + b, nil // 支持多重返回 } 多 ...
分类:
其他好文 时间:
2020-02-24 15:00:56
阅读次数:
72
程序设计七大原则 一、开闭原则 ? 针对我们设计的功能模块对扩展开放,对修改关闭:利用面向接口(抽象)编程(多态的特性),实现对功能需求扩展的同时,不允许更改原来的代码。提高对象的可复用性、可维护性、灵活性。 ? 抽象的说,用抽象思维构建我们想要创建的实体对象,用具体实现去扩展实体对象的细节实现。 ...
分类:
编程语言 时间:
2020-02-23 18:22:13
阅读次数:
91
1. 观察者模式(Observer Pattern) 指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,它是对象行为型模式。主题(Subject)具有注册和移除观察者、并通知所有观察者的功能,主题是通过维护一张观察者列表来实现这些操作的。 顾名思 ...
分类:
其他好文 时间:
2020-02-23 17:52:41
阅读次数:
65
对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类(String类是不可改变的,一旦创建了String对象,那它的值就无法改变了)。 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。 ...
分类:
其他好文 时间:
2020-02-23 16:14:41
阅读次数:
51
1 Plugins 2 void __cdecl OutputDebugStringF(const char* format, ...) 3 { 4 va_list vlArgs; 5 char* strBuffer = (char*)GlobalAlloc(GPTR, 4096); 6 va_st... ...
分类:
其他好文 时间:
2020-02-23 09:32:22
阅读次数:
65
void __cdecl OutputDebugStringF(const char* format, ...){ va_list vlArgs; char* strBuffer = (char*)GlobalAlloc(GPTR, 4096); va_start(vlArgs, format); ... ...
分类:
其他好文 时间:
2020-02-23 09:14:52
阅读次数:
69
日志 一、日志的级别 CRITICAL : 50 ERROR : 40 WARNING : 30 INFO : 20 DEBUG : 10 NOTSET : 0 (无日志记录) | 级别 | 常量 | 引用方式 | | | | | | critical | 50 | logging.CRITICAL ...
分类:
编程语言 时间:
2020-02-22 20:02:27
阅读次数:
104
面向过程包含 顺序结构:按照语句出现的先后顺序依次执行; 选择结构:根据条件判断是否执行相关语句; 循环结构:当条件成立时,重复执行某些语句。 之前讲过选择结构中的IF语句 单分支的if语句 if [];then statment fi 双分支 if [];then statment else st ...
分类:
系统相关 时间:
2020-02-22 19:49:03
阅读次数:
112
1:工厂方法模式的概念和分析 分析上一篇的简单工厂模式后,我们可以清楚的发现简单工厂模式的缺点,那就是当要生产的对象增加后,不得不的需改工厂类的内容,这违背了开闭原则,如果才能完善该模式尼?由于简单工厂模式只有一个工厂类,所以的生产活动都有其完成,这样导致了问题。我们可以增加工厂类,为每一个产品都增 ...
分类:
其他好文 时间:
2020-02-22 18:33:29
阅读次数:
73