摘要: 终于等到你!Go语言——让你用写Python代码的开发效率编写C语言代码。 为什么互联网世界需要Go语言 世界上已经有太多太多的编程语言了,为什么又出来一个Go语言? 硬件限制:摩尔定律已然失效 摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一 阅读全文
posted @ 2020-02-10 23:26 boy° 阅读(476) 评论(0) 推荐(1) 编辑
摘要: 一步一步,从零搭建Go语言开发环境。 安装Go语言及搭建Go语言开发环境 下载 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 版本的选择 Windows平台和Mac平台推荐下载可执行文件版,Linux 阅读全文
posted @ 2020-02-10 23:06 boy° 阅读(464) 评论(2) 推荐(1) 编辑
摘要: VS Code是微软开源的一款编辑器,插件系统十分的丰富。本文就介绍了如何使用VS Code搭建Go语言开发环境。 VS Code配置Go语言开发环境 说在前面的话,Go语言是采用UTF8编码的,理论上使用任何文本编辑器都能做Go语言开发。大家可以根据自己的喜好自行选择。编辑器/IDE没有最好只有最 阅读全文
posted @ 2020-02-10 23:00 boy° 阅读(688) 评论(0) 推荐(1) 编辑
摘要: 变量和常量是编程中必不可少的部分,也是很好理解的一部分。 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。 关键字 阅读全文
posted @ 2020-02-10 22:57 boy° 阅读(293) 评论(0) 推荐(1) 编辑
摘要: Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:ui 阅读全文
posted @ 2020-02-10 22:51 boy° 阅读(363) 评论(0) 推荐(1) 编辑
摘要: 运算符用于在程序运行时执行数学或逻辑运算。 运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算数运算符 运算符描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。 关系运算符 阅读全文
posted @ 2020-02-10 22:46 boy° 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。 Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。 if else(分支结构) if条件判断基本写法 Go语言中if条件判断 阅读全文
posted @ 2020-02-10 22:44 boy° 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍Go语言中数组(array)及它的基本使用。 Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var 阅读全文
posted @ 2020-02-10 22:40 boy° 阅读(257) 评论(0) 推荐(1) 编辑
摘要: 本文主要介绍Go语言中切片(slice)及它的基本使用。 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如: func arraySum(x [3]int) int{ sum := 0 for _, v := range x{ sum = sum + v } ret 阅读全文
posted @ 2020-02-10 22:31 boy° 阅读(362) 评论(0) 推荐(1) 编辑
摘要: Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 map定义 Go语言中 map的定义语法如下: map[KeyType]ValueType 其中, KeyType:表示键 阅读全文
posted @ 2020-02-10 22:25 boy° 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数的相关内容。 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } 其中: 函数名: 阅读全文
posted @ 2020-02-10 22:17 boy° 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。 任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。 比如,“永远不要高估自己”这句话是 阅读全文
posted @ 2020-02-10 22:11 boy° 阅读(361) 评论(0) 推荐(0) 编辑
摘要: Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 类型别名和自定义类型 自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义 阅读全文
posted @ 2020-02-10 22:06 boy° 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定义包、如何导出包的内容及如何导入其他包。 包(package)介绍 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、i 阅读全文
posted @ 2020-02-10 21:56 boy° 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类型。 interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定 阅读全文
posted @ 2020-02-10 21:50 boy° 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了Go语言反射的意义和基本使用。 变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息。 值信息:程序运行过程中可动态变化的。 反射介绍 反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运 阅读全文
posted @ 2020-02-10 21:44 boy° 阅读(271) 评论(0) 推荐(0) 编辑
摘要: Go语言中的并发编程——并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 Go语言的并发通过gorou 阅读全文
posted @ 2020-02-10 21:38 boy° 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程。 关于网络编程其实是一个很庞大的领域,本文只是简单的演示了如何使用net包进行TCP和UDP通信。如需了解更详细的网络编程请自行检索和阅读专 阅读全文
posted @ 2020-02-10 20:47 boy° 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 不写测试的开发不是好程序员。我个人非常崇尚TDD(Test Driven Development)的,然而可惜的是国内的程序员都不太关注测试这一部分。 这篇文章主要介绍下在Go语言中如何做单元测试和基准测试。 go test工具 Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代 阅读全文
posted @ 2020-02-10 20:39 boy° 阅读(349) 评论(0) 推荐(0) 编辑