2019年12月4日

摘要: go构造函数 结构体没有构造函数,你可以创建一个函数返回一个相应类型的实例代替(类似一个工厂): func NewSaiyan(name string, power int) *Saiyan { return &Saiyan{ Name: name, Power: power, } } 这种模式会导 阅读全文
posted @ 2019-12-04 15:28 长颈鹿的脖子 阅读(711) 评论(0) 推荐(0)
摘要: go new 尽管没有构造函数,go有一个内置的函数new,可以用来分配一个类型需要的内存。new(X)和&X{}是等效的: goku := new(Saiyan) // 等效 goku := &Saiyan{} 用那种方式取决于你,但是你会发现,当需要去初始化结构体字段时,大多数人更喜欢使用后者, 阅读全文
posted @ 2019-12-04 15:28 长颈鹿的脖子 阅读(316) 评论(0) 推荐(0)
摘要: go结构体上的函数 我们可以将一个方法和一个结构体关联: type Saiyan struct { Name string Power int } func (s *Saiyan) Super() { s.Power += 10000 } 在上面的代码中,我们可以说类型*Saiyan是Super方法 阅读全文
posted @ 2019-12-04 15:27 长颈鹿的脖子 阅读(366) 评论(0) 推荐(0)
摘要: go结构体 go不是像c++、java、ruby和c#一样的面向对象语言。它没有对象和继承的概念。因此也没有很多面向对象语言的特性如多态和重载。 go提供了结构体,并且可以将一些方法和结构体关联。go也支持一种简单但是更有效的组合形式。总的来说,这是为了让代码更加简洁,但是在一些场合,你会失去一些面 阅读全文
posted @ 2019-12-04 15:26 长颈鹿的脖子 阅读(204) 评论(0) 推荐(0)
摘要: go函数声明 这是一个很好的机会去介绍函数支持多值返回。查看下面3个函数:一个没有返回值,一个返回一个值,一个返回2个值。 func log(message string) { } func add(a int, b int) int { } func power(name string) (int 阅读全文
posted @ 2019-12-04 15:25 长颈鹿的脖子 阅读(156) 评论(0) 推荐(0)
摘要: go变量和声明 这将是美好的开始和结束,通过写下x = 4,我们查看变量,可以说声明了一个变量并赋值,但是很不幸,go语言变量声明和赋值比这更复杂。通过学习一些简单的示例开始学习变量声明和赋值。然后在下一章,当我们创建并使用结构体时,我们会深入学习。尽管如此,你需要花一些时间去适应。 你可能会惊讶, 阅读全文
posted @ 2019-12-04 15:20 长颈鹿的脖子 阅读(108) 评论(0) 推荐(0)
摘要: go垃圾回收 当创建一些变量时,变量有一个确定的生命周期。例如函数中定义的局部变量,当函数退出时变量就不存在了。另外在其他情况下,至少对于编译器来说,这不是那么的明显。例如,某个被函数返回的变量的生命周期,或者被其他变量和对象引用的变量的生命周期,都是很难去判断的。如果没有垃圾回收机制,开发人员需要 阅读全文
posted @ 2019-12-04 15:18 长颈鹿的脖子 阅读(166) 评论(0) 推荐(0)
摘要: go类c语法 一般来说,如果一门语言具有类c语法,意味着当你习惯使用其他类c语言例如c、c++、java、javascript和c#,然后你就会发现go语言和它们也类似,至少表面上是。例如,使用&&表示一个布尔运算AND,==用于相等比较,{和}表示一个代码段的开始和结束,并且数组的索引值是从0开始 阅读全文
posted @ 2019-12-04 15:17 长颈鹿的脖子 阅读(224) 评论(0) 推荐(0)
摘要: 双向链接列表是链接列表的变体,与单链接列表相比,可以以两种方式轻松地向前和向后导航。以下是理解双向链表概念的重要术语。 链接 - 链接列表的每个链接都可以存储称为元素的数据。 Next - 链接列表的每个链接都包含指向下一个名为Next的链接的链接。 上一页 - 链表的每个链接都包含一个名为Prev 阅读全文
posted @ 2019-12-04 15:12 长颈鹿的脖子 阅读(195) 评论(0) 推荐(0)
摘要: 在分而治之的方法中,手头的问题被分成较小的子问题,然后每个问题都独立解决。当我们继续将子问题划分为更小的子问题时,我们最终可能会达到无法进行更多划分的阶段。解决那些“原子”最小可能的子问题(分数)。最后合并所有子问题的解决方案以获得原始问题的解决方案。 从广义上讲,我们可以通过三个步骤来理解 分而治 阅读全文
posted @ 2019-12-04 15:08 长颈鹿的脖子 阅读(249) 评论(0) 推荐(0)
摘要: 动态编程方法类似于将问题分解为更小但更小的子问题的分而治之。但不同的是,分而治之,这些子问题并没有独立解决。相反,记住这些较小子问题的结果并用于类似或重叠的子问题。 动态编程用于我们遇到问题的地方,可以将其划分为类似的子问题,以便可以重复使用它们的结果。大多数情况下,这些算法用于优化。在解决现有子问 阅读全文
posted @ 2019-12-04 15:08 长颈鹿的脖子 阅读(174) 评论(0) 推荐(0)
摘要: 设计算法以实现给定问题的最佳解决方案。在贪婪算法方法中,决策是从给定的解决方案域做出的。由于贪婪,选择了似乎提供最佳解决方案的最接近的解决方案。 贪心算法试图找到一个本地化的最优解决方案,最终可能导致全局优化的解决方案。但是,通常贪婪算法不提供全局优化的解决方案。 计数硬币 这个问题是通过选择最不可 阅读全文
posted @ 2019-12-04 15:07 长颈鹿的脖子 阅读(185) 评论(0) 推荐(0)
摘要: 算法是一个逐步的过程,它定义了一组指令,这些指令按特定顺序执行以获得所需的输出。算法通常独立于底层语言创建,即算法可以用一种以上的编程语言实现。 从数据结构的角度来看,以下是一些重要的算法类别 - 搜索 - 搜索数据结构中的项目的算法。 排序 - 按 特定顺序对项目进行 排序的 算法。 插入 - 在 阅读全文
posted @ 2019-12-04 13:12 长颈鹿的脖子 阅读(143) 评论(0) 推荐(0)
摘要: String数据类型表示一系列字符。Dart字符串是一系列UTF 16代码单元。 Dart中的字符串值可以使用 单引号 或 双引号 或 三引号 表示。单行字符串使用单引号或双引号表示。三引号用于表示多行字符串。 在Dart中表示字符串值的语法如下所示 句法 String variable_name 阅读全文
posted @ 2019-12-04 13:06 长颈鹿的脖子 阅读(165) 评论(0) 推荐(0)
摘要: Dart为布尔数据类型提供内置支持。Dart中的布尔数据类型仅支持两个值true和false。关键字bool用于表示DART中的布尔值。 在dart中声明布尔变量的语法如下所示 bool var_name = true; 或者 bool var_name = false 例 void main() 阅读全文
posted @ 2019-12-04 13:06 长颈鹿的脖子 阅读(174) 评论(0) 推荐(0)
摘要: 条件/决策构造在执行指令之前评估条件。 下表是Dart中的条件语句 序号 声明和说明 1 if 语句 一个if语句由一个布尔表达式后跟一个或多个语句。 2 If...Else 语句 一个if可以跟一个可选的else块。 3 else…if 语句 else...if可用于检测多个条件。以下是相同的语法 阅读全文
posted @ 2019-12-04 13:05 长颈鹿的脖子 阅读(177) 评论(0) 推荐(0)
摘要: Dart数字可以分为: int - 任意大小的整数。 int 数据类型用于表示整数。 double -64位(双精度)浮点数,由IEEE 754标准规定。 在 double 数据类型用于表示小数 int 和 double 类型继承 num 类型 。该 Dart核心库 允许在数值类型上进行许多操作。 阅读全文
posted @ 2019-12-04 13:05 长颈鹿的脖子 阅读(211) 评论(0) 推荐(0)
摘要: 表达式是一种特殊类型的语句,它计算为一个值。每个表达都由 操作数 - 表示数据 运算符 - 定义如何处理操作数以生成值。 考虑以下表达式 2 + 3。在该表达式中,2和3是操作数,符号+(加号)是 运算符 。 在本章中,我们将讨论Dart中可用的运算符。 算术运算符 相等和关系运算符 类型测试运算符 阅读全文
posted @ 2019-12-04 13:04 长颈鹿的脖子 阅读(158) 评论(0) 推荐(0)
摘要: 有时,某些指令需要重复执行。循环是一种理想的方法。循环表示必须重复的一组指令。在循环的上下文中,重复被称为迭代 。 下图说明了循环的分类 让我们开始讨论确定循环。迭代次数是确定/固定的循环称为确定循环 。 序号 循环和描述 1 for 循环 for循环是一个明确的循环的实现。for循环执行代码块指定 阅读全文
posted @ 2019-12-04 13:04 长颈鹿的脖子 阅读(269) 评论(0) 推荐(0)
摘要: 变量是“存储器中的命名空间”,用于存储值。换句话说,它作为程序中值的容器。变量名称称为标识符。以下是标识符的命名规则 - 标识符不能是关键字。 标识符可以包含字母和数字。 标识符不能包含空格和特殊字符,但下划线(_)和美元($)符号除外。 变量名称不能以数字开头。 类型语法 必须在使用变量之前声明变 阅读全文
posted @ 2019-12-04 13:03 长颈鹿的脖子 阅读(138) 评论(0) 推荐(0)
摘要: 编程语言最基本的特征之一是它支持的数据类型集。这些是可以用编程语言表示和操作的值的类型。 Dart语言支持以下类型 数字 字符串 布尔 列表list map 数字 Dart中的数字用于表示数字文字。Dart有两种数字类型: 整数 - 整数值表示非小数值,即没有小数点的数值。 例如,值10是整数。整数 阅读全文
posted @ 2019-12-04 12:57 长颈鹿的脖子 阅读(239) 评论(0) 推荐(0)
摘要: 语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart语法有如下内容组成: 变量和运算符 类 函数 表达式和代码块 判断和循环结构 注释 库和包 类型定义 数据结构表示:集合/泛型 你的第一个dart程序 让我们从传统的 Hello World 示例开始 main() { pri 阅读全文
posted @ 2019-12-04 12:56 长颈鹿的脖子 阅读(211) 评论(0) 推荐(0)
摘要: 语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart语法有如下内容组成: 变量和运算符 类 函数 表达式和代码块 判断和循环结构 注释 库和包 类型定义 数据结构表示:集合/泛型 你的第一个dart程序 让我们从传统的 Hello World 示例开始 main() { pri 阅读全文
posted @ 2019-12-04 11:44 长颈鹿的脖子 阅读(323) 评论(0) 推荐(0)
摘要: 本章讨论在Windows平台上为Dart设置执行环境。 使用DartPad在线执行脚本 您可以使用https://dartpad.dartlang.org/上的在线编辑器在线测试您的脚本。Dart编辑器执行脚本并显示HTML和控制台输出。在线编辑器附带一组预设代码示例。 Dartpad 编辑器的屏幕 阅读全文
posted @ 2019-12-04 11:27 长颈鹿的脖子 阅读(406) 评论(0) 推荐(0)
摘要: Swift 循环 有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: 循环类型 Swift 阅读全文
posted @ 2019-12-04 10:45 长颈鹿的脖子 阅读(333) 评论(0) 推荐(0)
摘要: Swift 运算符 运算符是一个符号,用于告诉编译器执行一个数学或逻辑运算。 Swift 提供了以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 赋值运算符 区间运算符 其他运算符 本章节我们将为大家详细介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符及其他运算符。 算术运 阅读全文
posted @ 2019-12-04 10:44 长颈鹿的脖子 阅读(96) 评论(0) 推荐(0)
摘要: Swift 条件语句 条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句。 可以通过下图来简单了解条件语句的执行过程: Swift 提供了以下几种类型的条件语句: 语句 描述 if 语句 if 语句 由一个布尔表达式和一个或多个执行语句 阅读全文
posted @ 2019-12-04 10:44 长颈鹿的脖子 阅读(212) 评论(0) 推荐(0)
摘要: Swift 常量 常量一旦设定,在程序运行时就无法改变其值。 常量可以是任何的数据类型如:整型常量,浮点型常量,字符常量或字符串常量。同样也有枚举类型的常量: 常量类似于变量,区别在于常量的值一旦设定就不能改变,而变量的值可以随意更改。 常量声明 常量使用关键字 let 来声明,语法如下: let 阅读全文
posted @ 2019-12-04 10:42 长颈鹿的脖子 阅读(144) 评论(0) 推荐(0)
摘要: Swift 字面量 所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值。比如在下面: let aNumber = 3 //整型字面量 let aString = "Hello" //字符串字面量 let aBool = true //布尔值字面量 阅读全文
posted @ 2019-12-04 10:42 长颈鹿的脖子 阅读(110) 评论(0) 推荐(0)
摘要: Swift 可选(Optionals)类型 Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。 Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的: var optionalInte 阅读全文
posted @ 2019-12-04 10:39 长颈鹿的脖子 阅读(192) 评论(0) 推荐(0)
摘要: Swift 变量 变量是一种使用方便的占位符,用于引用计算机内存地址。 Swift 每个变量都指定了特定的类型,该类型决定了变量占用内存的大小,不同的数据类型也决定可存储值的范围。 上一章节我们已经为大家介绍了基本的数据类型,包括整形Int、浮点数Double和Float、布尔类型Bool以及字符串 阅读全文
posted @ 2019-12-04 10:35 长颈鹿的脖子 阅读(213) 评论(0) 推荐(0)
摘要: Swift 数据类型 在我们使用任何程序语言编程时,需要使用各种数据类似来存储不同的信息。 变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。 所有变量都具有数据类型,以决定能够存储哪种数据。 内置数据类型 Swift 提供了非常丰富的数据类型,以下列出 阅读全文
posted @ 2019-12-04 10:31 长颈鹿的脖子 阅读(217) 评论(0) 推荐(0)
摘要: Swift 基本语法 在上一章节中我们已经讲到如何创建 Swift 语言的 "Hello, World!" 程序。现在我们来复习下。 如果创建的是 OS X playground 需要引入 Cocoa : import Cocoa /* 我的第一个 Swift 程序 */ var myString 阅读全文
posted @ 2019-12-04 10:29 长颈鹿的脖子 阅读(166) 评论(0) 推荐(0)
摘要: Swift 环境搭建 Swift是一门开源的编程语言,该语言用于开发OS X和iOS应用程序。 在正式开发应用程序前,我们需要搭建Swift开发环境,以便更好友好的使用各种开发工具和语言进行快速应用开发。由于Swift开发环境需要在OS X系统中运行,因此其环境的搭建将不同于Windows环境,下面 阅读全文
posted @ 2019-12-04 10:24 长颈鹿的脖子 阅读(416) 评论(0) 推荐(0)
摘要: Ruby 类案例 下面将创建一个名为 Customer 的 Ruby 类,您将声明两个方法: display_details:该方法用于显示客户的详细信息。 total_no_of_customers:该方法用于显示在系统中创建的客户总数量。 #!/usr/bin/ruby class Custom 阅读全文
posted @ 2019-12-04 09:50 长颈鹿的脖子 阅读(99) 评论(0) 推荐(0)
摘要: Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型。 Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash。 数值类型(Number) 1、整型(I 阅读全文
posted @ 2019-12-04 09:49 长颈鹿的脖子 阅读(102) 评论(0) 推荐(0)
摘要: Ruby 类和对象 Ruby 是一种完美的面向对象编程语言。面向对象编程语言的特性包括: 数据封装 数据抽象 多态性 继承 这些特性将在 面向对象的 Ruby 中进行讨论。 一个面向对象的程序,涉及到的类和对象。类是个别对象创建的蓝图。在面向对象的术语中,您的自行车是自行车类的一个实例。 以车辆为例 阅读全文
posted @ 2019-12-04 09:49 长颈鹿的脖子 阅读(123) 评论(0) 推荐(0)
摘要: Ruby 语法 让我们编写一个简单的 Ruby 程序。所有的 Ruby 文件扩展名都是 .rb。所以,把下面的源代码放在 test.rb 文件中。 实例 #!/usr/bin/ruby -w puts "Hello, Ruby!"; 在这里,假设您的 /usr/bin 目录下已经有可用的 Ruby 阅读全文
posted @ 2019-12-04 09:48 长颈鹿的脖子 阅读(145) 评论(0) 推荐(0)
摘要: Ruby 环境变量 Ruby 解释器使用下列环境变量来控制它的行为。ENV 对象包含了所有当前设置的环境变量列表。 变量描述 DLN_LIBRARY_PATH 动态加载模块搜索的路径。 HOME 当没有参数传递给 Dir::chdir 时,要移动到的目录。也用于 File::expand_path 阅读全文
posted @ 2019-12-04 09:47 长颈鹿的脖子 阅读(264) 评论(0) 推荐(0)
摘要: Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项被调用,来控制解释器的环境和行为。 选项描述 -a 与 -n 或 -p 一起使用时,可以打开自动拆分 阅读全文
posted @ 2019-12-04 09:44 长颈鹿的脖子 阅读(132) 评论(0) 推荐(0)
摘要: Ruby 中文编码 前面章节中我们已经学会了如何用 Ruby 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。 Ruby 文件中如果未指定编码,在执行过程会出现报错: #!/usr/bin/ruby -w puts "你好,世界!" 阅读全文
posted @ 2019-12-04 09:42 长颈鹿的脖子 阅读(96) 评论(0) 推荐(0)
摘要: Ruby 安装 – Windows 下面列出了在 Windows 机器上安装 Ruby 的步骤。 注意:在安装时,您可能有不同的可用版本。 - Window 系统下,我们可以使用 RubyInstaller 来安装 Ruby 环境,下载地址为:请点击这里下载。 - 下载 rubyinstaller 阅读全文
posted @ 2019-12-04 09:40 长颈鹿的脖子 阅读(186) 评论(0) 推荐(0)
摘要: Ruby 安装 - Unix 下面列出了在 Unix 机器上安装 Ruby 的步骤。 注意:在安装之前,请确保您有 root 权限。 下载最新版的 Ruby 压缩文件。请点击这里下载。 下载 Ruby 之后,解压到新创建的目录下: $ tar -xvzf ruby-2.2.3.tgz $ cd ru 阅读全文
posted @ 2019-12-04 09:30 长颈鹿的脖子 阅读(86) 评论(0) 推荐(0)
摘要: Ruby 环境 本地环境设置 如果您想要设置 Ruby 编程语言的环境,请阅读本章节的内容。本章将向您讲解与环境设置有关的所有重要的主题。建议先学习下面几个主题,然后再进一步深入学习其他主题: Linux/Unix 上的 Ruby 安装:如果您想要在 Linux/Unix 上配置开发环境,那么请查看 阅读全文
posted @ 2019-12-04 09:24 长颈鹿的脖子 阅读(186) 评论(0) 推荐(0)

导航