Go
Allen_by
充满理想与追求,这一切似在指尖、心尖,都缠绕,都充盈,蓬勃待飞C语言、汇编语言、数据库系统、JAVA编程思想、C++程序设计、数据结构、计算机网络及算法与数据结构等专业知识擅长的计算机语言,以及计算机硬件的知识。数据库知识和经验,网络知识和技能
展开
-
Go语言基础
Go语言标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号, 函数,类型。 行分隔符 Go 程序中,一行代表一个语句结束。每个语句不需要以分号 ; 结尾,打算将多个语句写在同一行,它们则必须使用 ; 人为区分。 注释 注释不会被编译,单行注释是使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾。 // 单行注释 /* 多行注释 *...原创 2019-03-20 21:23:01 · 173 阅读 · 0 评论 -
Go 语言结构体
Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 定义结构体 结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体有中有一个或多个成员。type 语句设定了结构体的名称。 type struct_variable_type struct { m...原创 2019-03-28 20:56:13 · 146 阅读 · 0 评论 -
Go 语言切片(Slice)
Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片(“动态数组”),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片 var identifier []type var slice1 []type = make([]type, len) 也可以简写为 slice1 := m...原创 2019-03-28 20:56:09 · 181 阅读 · 0 评论 -
Go 语言范围(Range)
Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值。 package main import "fmt" func main(){ nums := []int{2, 3, 4} sum := 0 fo...原创 2019-03-28 20:56:05 · 230 阅读 · 0 评论 -
Go 语言Map(集合)
Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。 定义 Map 可以使用内建函数 make 也可以使用 map 关键字来定义 Map /* 声明变量,默认 map 是 ...原创 2019-03-28 20:56:01 · 211 阅读 · 0 评论 -
Go 语言递归函数
递归,就是在运行的过程中调用自己。 func recursion() { recursion() /* 函数调用自身 */ } func main() { recursion() } Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。 阶乘 package main import "fmt" func Factorial(n uint...原创 2019-03-28 20:55:57 · 338 阅读 · 0 评论 -
Go 语言类型转换
类型转换用于将一种数据类型的变量转换为另外一种类型的变量。 type_name(expression) 例如 package main import "fmt" func main(){ var sum int = 17 var count int = 5 var mean float32 mean = float32(sum)/float32(count) fmt.Pri...原创 2019-03-28 20:55:53 · 208 阅读 · 0 评论 -
Go 语言接口
o 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 例如 package main import ( "fmt" ) type Phone interface { call() } type NokiaPhone struct { } func (nokiaPhone NokiaPhone) call()...原创 2019-03-28 20:55:48 · 131 阅读 · 0 评论 -
Go 错误处理
Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 例如 package main import ( "fmt" ) type DivideError struct { dividee int divider int } func (de *DivideError) Error() string { strFormat := ` Cannot proceed, the d...原创 2019-03-28 20:55:28 · 186 阅读 · 0 评论 -
Go 语言指针
Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址 什么是指针 一个指针变量指向了一个值的内存地址。 声明格式 var var_name *var-type var ip *int /* 指向整型*/ var fp *float32 /* 指向浮点型 */ 使用指针 定义指针变量。 为指针变量赋值。 访问指针变量中指向地址的值。 在指针类型前...原创 2019-03-27 21:55:42 · 148 阅读 · 0 评论 -
Go 语言数组
Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。 声明数组 var variable_name [SIZE] variable_type var balance [10] float32 初始化数组 var balance = [5]float32{1000.0, 2.0, 3.4, 7....原创 2019-03-27 21:55:28 · 191 阅读 · 0 评论 -
Go语言数据类型
数据类型用于声明函数和变量,数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 序号 类型 描述 1 布尔型 布尔型的值只可以是常量 true 或者 false。 2 数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 3...原创 2019-03-20 21:22:46 · 205 阅读 · 0 评论 -
Go 语言变量
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的一般形式是使用 var 关键字: var identifier type 变量声明 指定变量类型,声明后若不赋值,使用默认值。 var name type; name = value 第二种,根据值自行判定变量类型。 var name = value 第三种,省略 var, 注意 := 左侧需要声明新的变量...原创 2019-03-20 21:22:35 · 149 阅读 · 0 评论 -
Go 语言常量
常量是一个简单值的标识符,在程序运行时,不会被修改的量。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 const identifier [type] = value 显式类型定义: const b string = "abc" 隐式类型定义: const b = "abc" const name1, name2 = value1, value2 常量可以用le...原创 2019-03-20 21:22:08 · 119 阅读 · 0 评论 -
Go 语言运算符
运算符用于在程序运行时执行数学或逻辑运算。 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 算术运算符 Go语言的算术运算符。假定 A 值为 1,B 值为 2。 运算符 描述 实例 + 相加 A+B=3 - 相减 A-B=-1 * 相乘 A*B=2 / 相除 A/B=0 % 求余 A%B=1 ++ 自增 A+...原创 2019-03-21 23:05:05 · 246 阅读 · 0 评论 -
Go 语言条件语句
条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。 放大图片放大图片放大图片放大图片 if 语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 放大图片放大图片 例如: package main import "fmt" func main(){ var a ...原创 2019-03-21 23:04:51 · 100 阅读 · 0 评论 -
Go 语言循环语句
Go 语言提供多种类型循环处理语句 循环类型 描述 for 循环 重复执行指定次数语句块 循环嵌套 在 for 循环中嵌套一个或多个 for 循环 Go 语言 for 循环 语法 for init; condition; post { } init: 一般为赋值表达式,给控制变量赋初值; condition: 关系表达式或逻辑表达式,循环控制条件; post: 一般为赋...原创 2019-03-27 21:55:56 · 181 阅读 · 0 评论 -
Go 语言函数
函数是基本的代码块,用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。 函数声明告诉了编译器函数的名称,返回类型,和参数。 Go 语言标准库提供了多种可复用的内置函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的元素个数。 函数...原创 2019-03-27 21:55:51 · 187 阅读 · 0 评论 -
Go 语言变量作用域
作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。 Go 语言中变量可以在三个地方声明: 函数内定义的变量称为局部变量 函数外定义的变量称为全局变量 函数定义中的变量称为形式参数 局部变量 在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。 package main import "fmt" func main(){ ...原创 2019-03-27 21:55:47 · 235 阅读 · 0 评论 -
Go 并发
Go 语言支持并发,我们只需要通过 go 关键字来开启 goroutine 即可。 goroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。 goroutine 语法格式: go 函数名( 参数列表 ) 或 go f(x, y, z) #开启一个新的 goroutine: f(x, y, z) Go 允许使用 go 语句开启一个新的运行期线程, 即 g...原创 2019-03-28 20:55:16 · 187 阅读 · 0 评论