调用方法 [object method]; [object methodWithInput:input]; output = [object methodWithOutput]; output = [object methodWithInputAndOutput:input]; id myObject = [NSString string]; NSString* myString = [NSString string]; 嵌套消息 function1 ( function2() ); [NSSt…
C# 变量类型 sbyte byte short ushort int uint long ulong float double decimal char bool string switch 默认不能穿透,但是也必须有break用于结束. 显式转换 显式转换时默认unchecked,可以调用checked方法去调用. 显式转换可以用括号或者Convert类的方法. 使用as运算符,不能转换返回null,但是as方法不能转换为不能为null的基本类型. 枚举 枚举使用基本类型. foreach…
Swift是苹果推出的一个比较新的语言,它除了借鉴语言如C#.Java等内容外,好像还采用了很多JavaScript脚本里面的一些脚本语法,用起来感觉非常棒,作为一个使用C#多年的技术控,对这种比较超前的语言非常感兴趣,之前也在学习ES6语法的时候学习了阮一峰的<ECMAScript 6 入门>,对JavaScript脚本的ES6语法写法叹为观止,这种Swift语言也具有很多这种脚本语法的特点,可以说这个Swift在吸收了Object C的优点并摒弃一些不好的东西外,同时吸收了大量新一代语言的…
Atitit. 构造ast 语法树的总结attilax oao 1. Ast结构树形1 2. ast view (自是个160k的jar )2 2.1. 多条语句ast结构2 2.2. 变量定义 int b,c; 的ast结构2 2.3. 方法调用meth1(a=1,b=2,c=3);  的ast结构2 3. 误解的问题3 3.1. 语法书子能是个二叉树,实际上多叉树越好..3 3.2. 非要不个ast放到个stack黑头了..实际上不要stack牙行了...3 3.3. Ast非要解释成个ma…
类的创建: 与Java不同的是,OC创建一个类需要两个文件(.h和.m文件) 1> xxx.h:声明文件.用于声明成员变量和方法.关键字@interface和@end成对使用. 声明文件只是声明该类里成员变量和方法的格式(返回值类型,参数类型等),并不会实现它们. 在OC中继承用冒号表示,所有类都是继承于NSObject的,所以Sudent:NSObject.(这是和Java不同的,Java中所有类都继承于Object,但不用每定义一个类都写明继承关系,所有类都是默认继承于Object类的).…
//c语方的方法 void sayHello(){ printf("Hello OC"); } int main(int argc, char * argv[]) { sayHello();//调用c语言的方法 NSString *str=[NSString stringWithFormat:@"Hello %d",100]; //调用对象的静态方法,他的方法调用通过中括号括起来的,然后后面跟相关参数 NSLog(@"%@",str); }…
OC特有的分类Category,依赖于类.它可以在不改变原来的类内容的基础上,为类增加一些方法.分类的使用注意: (1)分类只能增加方法,不能增加成员变量: (2)在分类方法的实现中可以访问原来类中的成员变量: (3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用: (4)方法调用的优先级:分类->原来的类->父类,若包含有多个分类,则最后参与编译的分类优先:…
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Expression Evaluator验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究,所以今天就通过一篇简单的文章来预览一下其强大的功能.本文曾在[原创].NET开源表达式计算组件介绍与使用一文中介绍过一个.NET平台开源的表达式计算组件NCal.不过经过比较还是这个Expression Evaluator比较强大,虽然部分功能有重叠.也都能计算常规的数学表达式.这个组件的…
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究,所以今天以及接下去的几篇文章就专门介绍这个组件.不仅仅是它小,轻量级,优雅,而且一直在持续更新中.本人对这个感触很深是源于4年前自己在做一个数据过滤软件时,自己也设计了一套验证过滤的东西,虽然勉强能用,但太复杂了,复杂到我看到就想吐...指导我遇到了FluentValidation,彻底颠覆了我的…
原文地址:http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_FluentValidation_1.html 阅读目录 1.基本介绍 2.创建验证器 3.针对相同属性的链式编程验证 4.验证结果 5.异常与复杂验证 6.灵活的验证规则组设置 在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做…
在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.ConfigurationSettings来操作,这个说实话,搞起来比较费劲.不知道大家有没有同感.所以更多时候我还是喜欢使用开源的东西,更加方便简洁,也稳定.省去自己的麻烦.今天就介绍一个非常精致的.NET平台开源的操作配置文件(cfg/ini)的组件SharpConfig.走过路过,千万不要错过!上周我在这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧一文中也介绍过项目…
今年上半年,我在KwCombinatorics系列文章中,重点介绍了KwCombinatorics组件的使用情况,其实这个组件我5年前就开始用了,非常方便,麻雀虽小五脏俱全.所以一直非常喜欢,才写了几篇文章推荐给大家.最近在计算足球彩票结果组合过程中,使用的到了其功能,生成排列,非常具有代表性,而且也有网友咨询过类似的问题,所以就封装为扩展方法,方便调用. NET开源目录:[目录]本博客其他.NET开源项目文章目录 彩票数据资料目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本…
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Software Protector序列号生成组件.今天就通过一篇简单的文章来预览一下其强大的功能.虽然我人为其已经基本满足了一个软件序列号的所有要素,但至于大家用不用得上,还得看大家的需求.总的来说,其源码并不复杂的,即使要增加功能,也可以使用其进行扩展.何苦,就我而言,虽然以前也做过简单的序列号注册和验证,但看完这个之后,自己真的是太天真了.以前也简直是弱爆了,所以某种意义上,这个组件的功…
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部分技术细节,我还没有在实际系统中大量使用,但文章发布后,有不少网友( loogn)反应在实际项目中使用过,效果还可以吧.同时也有人碰到了关于LiteDB关于分页的问题,还不止一个网友,很显然这个问题从我的思考上来说,作者不可能不支持,同时也翻了一下源码,发现Find方法有skip和limite参数,…
今天给大家介绍一个不错的小巧轻量级的NoSQL文件数据库LiteDB.本博客在2013年也介绍过2款.NET平台的开源数据库: 1.[原创]开源.NET下的XML数据库介绍及入门 2.[原创]C#开源轻量级对象数据库NDatabase介绍 上面2个数据库我的实际的项目中用过,还不错.当然数据量很小,主要是客户比较变态,必须要用xml文件保存,就想到了,另外NDatabase只是自己觉得好玩,也用了一下. 提示:没有x86,x64之分,可以AnyCPU使用.4.5版本也可以使用,如果需要专门的4.…
关于OC语法的公开和私有的讨论 OC语法中,类的.h文件向外面暴露类的功能/方法接口,其中定义的属性/方法/协议/类别/类扩展都属于公开的,但实例变量要看限定词(@protected/@public/@private).而类.m封装了类内部的实现细节,对外是不公开的.故类.m中定义的实例变量/属性/方法/类扩展/类别/协议等都是私有的,值得一提的是,定义在.m文件类扩展中的实例变量,无论使用什么限定词(即使是@public),都是私有的. OC语法可以对类的实例变量加@private/@publ…
原文:Java, C#, Swift语法对比速查表   Java 8 C# 6 Swift 变量 类型 变量名; 类型 变量名; var 变量名 : 类型; 变量(类型推断) N/A var 变量名=初值; var 变量名=初值; 常量 final 类型 常量名=初值; readonly 类型 常量名=初值; let 常量名 : 类型=初值; 基本类型 int short long byte double float boolean char int short long byte double…
一文速览Vue全栈 原创: 新哥Lewis 天道酬勤Lewis 7月7日 Vue 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用,专注于声明式渲染视图层,结合丰富的生态系统和核心插件,致力于简单灵活快速驱动SPA.MPA等大小型应用. 本文依次介绍 双向数据绑定.计算属性.组件.事件机制.插件机制.前端路由.状态管理和服务端渲染等. 1. Vue实例与数据绑定 实例 Vue.js应用的创建很简单,通过构造函数 Vue 就可以创建一个 Vue 的根…
类 1.类的定义: 类=属性+方法: -属性代表类的特征 -方法是类能对变化做出的反应 类定义的格式:类的声明和类的实现组成 -接口(类的声明):@interface 类名:基类的名字 .类名首字母要大写 .冒号表示继承关系,冒号后面的是类的父类 .NSObject是OC所有类的基类 .类的声明放在“类名+.h”文件中,要由两部分组成:实例变量和方法 -实现(类的实现):@implementation类名 .方法实现 -都用@end结束c 2.类的使用: OC中,对象通过指针来声明   如:Cl…
今天是假期最后一天,明天起大家也要陆续复工了.golang1.16也在今天正式发布了. 原定计划是2月1号年前发布的,不过迟到也是golang的老传统了,正好也趁着最后的假期快速预览一下golang1.16的新特性吧. 本文索引 语言內建的资源嵌入支持 支持arm64 go modules的新特性 GO111MODULE现在默认为on go build不在更改mod相关文件 go install的变化 新的GOVCS环境变量 相对路径导入不在被允许 标准库的变化 testing ioutils包…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 系列文章链接 kubebuilder实战之一:准备工作 kubebuilder实战之二:初次体验kubebuilder kubebuilder实战之三:基础知识速览 kubebuilder实战之四:operator需求说明和设计 kubebuilder实战之五:operator编码 kubeb…
中国程序员容易发错音的单词,像极了学生时代的纠错本,收录着偶尔会忘记的单词.不过,它似乎更新频率跟不上我们的进步速度,至少一半以上的单词读起来是没有压力的.同样没有压力的还有让应用程序动起来的 auto-animate,一行代码轻松搞懂列表排序等等常见动效.还有个非常有意思的项目是 DeepFaceLive 和 dashy,前者让你换脸没压力,当然换个角度你可以让你的对象变成"迪丽热巴",后者则让你管理服务毫无压力.一个小图标即可访问对应的服务. 以下内容摘录自微博@HelloGitH…
作者:HelloGitHub-小鱼干 不知道写了那么久代码的你,是否还记得"代码写诗"这个词,它是用来形容代码的优雅.但是本周的项目,虽然你看到的是代码的成品,也会惊讶于它的艺术感.引用某位爱自曝名人的话:这就是艺术. 减轻等待焦虑的旋转小图标 svg-spinners 或者是让你随手涂鸦.随堂笔记即成画作的 Lorien,以及麻雀虽小但是数据俱全的 SQLite.swift,以及 ping 下就能看到的 say hi 小企鹅 pingu,都是很有意思的项目. 以下内容摘录自微博@He…
作者:HelloGitHub-小鱼干 上上周在 B 站观看了智能键盘--瀚文的制作过程,本周 GitHub 热榜上出现了它的软硬件开源项目 HelloWord-Keyboard,如果你的动手能力强不妨来自己搞一把带有"显示屏".不再是换键帽的客制键盘. 本周 GitHub 官方在其社交平台上推荐了个可在你业务时间把玩的项目,一个钢琴训练器,搭配上你的 MIDI 键盘优雅旋律信手拈来.至于,其他实用的开源项目请阅读本文的目录一一详细了解吧~ 以下内容摘录自微博@HelloGitHub 的…
Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习算法以及提供计算机视频.音频.信号处理以及统计应用相关的解决方案.该项目使用C#语言编写,项目主页:http://accord-framework.net/ 说明:该文章只是一个基本介绍,主要内容是翻译的官方文档和介绍,部分英文表述个人能力有限,不太熟悉,所以直接照搬原文,有比较确切的知道中文名…
在上一篇文章:.NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一) 中,给大家初步介绍了一下FluentValidation验证组件的使用情况.文章从构建间的验证器开始,到最后的结果,以及复杂验证等都做了比较深入的讲解和使用.但其实一个完整的组件是麻雀虽小五脏俱全的,一篇文章还不能说明问题,对优秀的组件,我将分开尽量多一点的进行很完整的介绍.在查阅了官方提供的帮助文件中,还有一些组件内部以及个性化的东西,所以今天一起看看看这方面的内容. 为了保持内容的完整性,大…
上个月在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧  和 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 中都提到了SharpConfig组件,简单轻量级,速度快,而且还有比较深入的使用介绍.在文章发布后,也有网友提到一些问题,当时我也没仔细去分析,在这次我亲自使用的过程中,就对几个问题进行了比较深入的研究,同时对不满足自己的地方,也进行了扩展.所以今天就把对SharpConfig的源码进行一个简单的分析,同时也根据需求对自己的一个特殊情况进行扩展.…
很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧.例如本文在: .NET平台开源项目速览(2)Compare .NET Objects对象比较组件 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB 上述2篇文章中最后的资源中就手动制作了CHM帮助文档.有时候我们还可以对源码进行翻译,再制作,效果还不错.今天介绍的ADB工具…
.NET平台开源项目速览今天介绍一款小巧强大的对象比较组件.可以更详细的获取2个对象的差别,并记录具体差别,比较过程和要求可以灵活配置. .NET开源目录:[目录]本博客其他.NET开源项目文章目录 本文地址:.NET平台开源项目速览(2)Compare .NET Objects对象比较组件 1.Compare .NET Objects介绍 Compare .NET Objects组件是.NET平台用于深入比较2个.NET对象的开源组件,一直在更新,主要功能如名字所示就是深入比较2个.NET对象…
面向对象编程中,函数.方法.类的构造函数是三种不同的概念. JS中,它们只是单个构造对象的三种不同的使用模式. 三种不同的使用模式 函数调用 function hello(username){ return 'hello,'+username; } hello('world');//"hello,world" 函数的表现与行为一致,调用hello函数并将给定的实参绑定到username形参. 方法调用 js中的方法,是指对象的属性恰好是函数而已. var obj={ hello:fun…