Fork me on GitHub

Go语言开发-布尔与数值类型-实现Statistics函数

实现一个简单的统计函数
为方便起见,我们创建了一个聚合类型用于保存用户输入的数据以及我们的两个统计结果。
Go的结构体类似于C语言的结构体或者Java里只有public数据成员且没有方法的类,但是不像C++语言的结构体那样,因为它并不是一个类。正如我们将要看到的,Go语言的结构体对聚合和嵌入提供非常出色的支持,这是Go语言面向对象编程的核心。

Go语言开发-布尔与数值类型-例子Statistics

Go语言开发-布尔与数值类型-例子Statistics

2.4.例子:Statistics
本示例 (和后面的练习) 的目的是为大家提供Go编程的一些背景知识。就像第一章中的那样,本示例使用了一些还没有完全讲解的Go语言特性。因为我们提供了一些简单解释和交叉引用,所以这应该不是大问题。本示例还介绍了Go语言标准库中的net/http包的一些简单用法,使用该包我们可以非常容易地创建一个HTTP服务器。

Go语言开发-布尔与数值类型-浮点类型

2.3.2.浮点类型
Go语言提供了两种类型的浮点数和两种类型的复数,它们的名字及取值范围如表2.7所示。Go语言中的浮点数广泛使用IEEE-754格式表示(http://en.wikipedia.org/wiki/IEEE_754-2008)。该格式也是很多微型处理器和浮点数单元所使用的原生格式,所以在大多数情况下Go语言能够直接利用硬件的浮点数支持。

Go语言开发-布尔与数值类型-整型

2.3.1.整型
Go语言提供了11种整型,5种有符号的和5种无符号的,再加上1种用于存储指针的类型——它们的名字和值在表2.5中给出。此外,Go语言允许使用byte来作为无符号uint8类型,并且使用单个字符(即Unicode码点)的时候提倡使用rune来替代int32类型。在大多数的情况下,我们通常只需要一种整型int。它适用于循环计数器、数组和切片索引,以及所有通用整型运算;通常该整型的处理速度也是最快的

Go语言开发-布尔与数值类型-数值类型

2.3.数值类型 Go语言提供了大量的内置数值类型,且标准库也提供了无限大小的big.Int类型的整数和big.Rat类型的有理数(仅受机器内存限制)。每个数值类型都是不同的:这意哧我们不能使用二元算术运算或比较操作(如+或者<)来对不同类型(如类型int32和类型int)的数值进行操作。无类型的数值常量可以兼容表达式中任何(内置)类型的数值,所以我们可以将一个无类型的数值常量与另一个数值进行加法或者比较操作

Go语言开发-布尔与数值类型-常量和变量

2.1.1.常量和变量
常量使用关键字const声明;变量可以使用关键字var声明,也可以使用快捷变量声明语法。Go语言可以自动推断出所声明变量的类型,但是如果需要,显式指定其类型也是合法的,比如声明一种与Go语言的常规推断不同的类型。2.1.1.1.枚举
当我们需要设置多个常量的时候,我们不必重复使用const关键字,只需使用const关键字一次就可以将所有常量声明组合在一起。

MVC5 Entity Framework学习(12):Entity Framework高级功能

MVC5 Entity Framework学习(12):Entity Framework高级功能

在之前的文章中,你已经学习了如何实现每个层次结构一个表继承。本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时可以利用的高级功能。在本节中你将重用之前已经创建的页面,接下来你需要新建一个页面并使用原始SQL来批量更新数据库中所有Course的学分。执行原始SQL查询 Entity FrameworkCode First API包含有可以让你直接向数据库发送SQL命令的方法。以下几种方法可以实现这种

MVC5 Entity Framework学习(11):实现继承

MVC5 Entity Framework学习(11):实现继承

之前你已经学习了如何处理并发异常,在本节中你将学习如何实现继承。在面向对象的编程中,你可以使用继承来重用代码。接下来你将修改Instructor和Student类,让它们派生自Person基类,该基类包含instructor和student共有的属性如LastName。你不需要添加或修改任何WEB页面,但是你需要修改某些代码,这些修改会自动反映在数据库中。映射继承到数据库的选项

MVC5 Entity Framework学习(9):异步和存储过程

MVC5 Entity Framework学习(9):异步和存储过程

在之前的文章中,你已经学习了如何使用同步编程模型来读取和更新数据,在本节中你将学习如何实现异步编程模型。异步可以使应用程序执行更有效率,因为它可以更有效的使用服务器资源。同样在本节中你还将学习如何针对实体的insert, update, 和delete操作使用存储过程。最后将应用程序部署到 Windows Azure。下面是完成后的页面

MVC5 Entity Framework学习(8):更新相关数据

MVC5 Entity Framework学习(8):更新相关数据

在上篇文章中学习了如何在页面中显示相关数据,本节中将学习如何对相关数据进行更新。对于大多数实体关系,可以通过更新外键或导航属性来更新数据,对于多对多关系,Entity Framework不会直接公开连接表,所以你需要通过相应的导航属性来添加和移除实体。

Go语言开发-布尔与数值类型

这是关于Go语言面向过程编程的四个章节中的第一章,它会为你接下来的学习奠定基础——无论是面向过程,面向对象,并发,都是这些编程方式的任意组合。本章涵盖了Go语言内置的布尔类型和所有Go语言内置的数值类型,并简要介绍了Go语言标准库中的两种数值类型。除了需要在不同数值类型之间进行显示转换和便捷的内置复数类型外

MVC5 Entity Framework学习(7):读取相关数据

MVC5 Entity Framework学习(7):读取相关数据

前一篇文章中完成了School 数据模型,接下来你将学习如何读取和显示相关的数据——这里指Entity Framework加载至导航属性中的数据。延迟、预先和显示加载相关数据 Entity Framework可以通过多种方法向实体的导航属性中加载数据 延迟加载(Lazy loading) 当实体第一次被读取时,相关数据并不会被检索。但是,当你第一次访问导航属性时,该导航属性所需的数据会自动加载。这是向数据库发送多个查询语句的结果——一次是读取实体本身,接着是每次与被检索的实体相关的数据。

Go语言开发-为什么是Go

为什么是Go Go语言是于2007年作为google的一个内部项目启动的。其最初由是由Robert Griesemer、Unix 专家 Rob Pike 和Ken Thompson设计。在 2009 年 11 月 10 日, Go语言以一个自由的开源许可方式公开亮相。Go语言一直由包括其最初设计者加上Russ Cox, Andrew Gerrand, Ian Lance Taylor和许多其他开发者在内的Google团队开发。Go语言采取一种开放的开发模式,吸引了许多来自世界各地的开发者为其发展贡献力量,这些被信任被尊重的开发者获得了与Google员工一样的代码提交权限。