Go
___Blue_H
0和1的世界简单一点
展开
-
Go的基本数据类型
整数与其他程序设计语言一样,Go的整型也分为有符号整型和无符号整型两类。有符号整型有int、int8、int16、int32、int64;无符号整型有uint、uint8、uint16、uint32、uint64、uintptr。上述整型中,后面带数字的整型有明确的大小,数字即代表比特位。int、uint、uintptr的大小并不明确,或者说与编译器相关。uintptr足以完整存放指针,仅用于...原创 2019-01-31 21:36:43 · 881 阅读 · 0 评论 -
Go语言的常量
Go语言的常量是一种表达式,常量可以保证在编译阶段就计算出表达式的值。所有的常量本质上都属于基本类型:数字、布尔型、字符串等。Go语言的常量定义与变量类似,只不过使用了const关键字修饰,但不能使用短变量声明关键字 := 来定义常量。对于常量操作数,所有数学运算、逻辑运算和比较运算的结果依然是常量,常量的转换结果和某些内置函数的返回值(例如len、cap、real、imag、complex和...原创 2019-02-01 22:24:51 · 868 阅读 · 0 评论 -
Go语言的函数特性
函数声明Go语言的每一个函数声明都包含一个函数名、一个形参列表、一个可选的返回列表以及函数体:func name(parameter-list) (result-list) {body}上述函数声明的语法通式中,若函数仅有一个或没有返回值,返回列表的圆括号可以省略。函数的类型称作函数签名。当两个函数拥有相同的形参列表和返回列表时(形参和返回值的名字不作为判断依据),这两个函数的类型或签...原创 2019-02-02 23:41:02 · 259 阅读 · 0 评论 -
Go语言的结构体
概述与C相同,Go的结构体是零个或多个任意类型的命名变量组合在一起的聚合数据类型,每个变量叫做结构体的成员。结构体的每个成员都通过点号来访问。定义结构体时,成员通常一行写一个,但相同类型的成员也可以写在同一行上。但需要注意的是:成员的顺序对于结构体同一性很重要,如果我们将变量的定义顺序调换或者将本来单行定义的变量写成同一行(或反之),那么我们就会定义一个不同的结构体类型。命名结构体类型...原创 2019-02-06 22:49:35 · 240 阅读 · 0 评论 -
Go语言的方法
目录方法概述 嵌套结构体中的方法调用方法变量方法表达式封装方法概述尽管Go没有统一的面向对象编程(OOP)的定义,但依然支持方法(C++中常叫做成员函数)。因为对我们来说,对象就是一个值或变量,并且拥有其方法,而方法是某种特定类型的函数。OOP就是使用方法来描述每个数据结构的属性和操作。Go语言的方法声明和普通函数声明类似,只是在函数名前面多了一个参数。这个参数把这...原创 2019-02-09 23:44:05 · 610 阅读 · 0 评论 -
Go语言的接口
概述接口是一种抽象类型,是对其他类型行为的概括与抽象,从语法角度来看,接口是一组方法定义的集合。很多面向对象的语言都有接口这个概念,但Go语言接口的独特之处在于它是隐式实现。换句话说,对于一个具体的类型,无须声明它实现了哪些接口,只要提供接口所必需的方法即可。这种设计让编程人员无须改变已有类型的实现就可以为这些类型创建新的接口——对于那些不能修改包的类型,这一点特别有用。以Go标准库中的f...原创 2019-02-12 12:45:09 · 4631 阅读 · 3 评论 -
Go语言的类型断言
类型断言是一个作用在接口值上的操作,写出来类似于x.(T),其中x是一个接口类型的表达式,而T是一个类型(称为断言类型)。类型断言会检查作为操作数的动态类型是否满足指定的断言类型,这有两种可能:1.如果T是一个具体类型,那么类型断言会检查x的动态类型是否为T。如果是则检查成功,类型断言的结果就是x的动态值,类型就是T,如果不是则检查失败。2.如果T是一个接口类型,那么类型断言会检查x的动态...原创 2019-02-12 14:51:46 · 908 阅读 · 0 评论 -
Go并发编程——goroutine与channel
goroutine并发编程表现为程序由若干个自主的执行单元组成,在Go里,每一个并发执行的活动称为goroutine。从宏观作用上看,goroutine类似于操作系统或其他编程语言中的进程/线程,但实现却大不相同。Go语言中,当一个程序执行时,只有一个goroutine来调用main函数,这个routine称为主goroutine,新的goroutine通过关键字 go 进行创建——在函数...原创 2019-02-15 01:56:45 · 642 阅读 · 0 评论