Go语言类型转换
Go 语言类型转换 类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下: type_name(expression) type_name 为类型,expression 为表达式。数值类型转换将整型转换为浮点型: var a int = 10var b float64 = float64(a) 以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:实例package main import “fmt” func main() { var sum int = 17 var count int = 5 var mean float32 mean = float32(sum)/float32(count) fmt.Printf(“mean 的值为: %f\n”,mean)} 以上实例执行输出结果为: mean 的值为: 3.400000 字符串类型转换 将一个字符串转换成另一个类型,可以使用以下语法: var str string =...
Go语言环境安装
Go 语言环境安装Go 语言支持以下系统: LinuxFreeBSDMac OS X(也称为 Darwin)Windows 安装包下载地址为:https://go.dev/dl/。如果打不开可以使用这个地址:https://golang.google.cn/dl/。各个系统对应的包名: 操作系统包名Windowsgo1.4.windows-amd64.msiLinuxgo1.4.linux-amd64.tar.gzMacgo1.4.darwin-amd64-osx10.8.pkgFreeBSDgo1.4.freebsd-amd64.tar.gz UNIX/Linux/Mac OS X, 和 FreeBSD 安装以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法:1、下载二进制包:go1.4.linux-amd64.tar.gz。2、将下载的二进制包解压至 /usr/local目录。tar -C /usr/local -xzf...
Go语言条件语句
Go 语言条件语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。下图展示了程序语言中条件语句的结构: Go 语言提供了以下几种条件判断语句: 语句描述if 语句if 语句 由一个布尔表达式后紧跟一个或多个语句组成。if…else 语句if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。 if 嵌套语句你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。switch 语句switch 语句用于基于不同条件执行不同动作。select 语句select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。 注意:Go 没有三目运算符,所以不支持 ?: 形式的条件判断。
Go语言数组
Go 语言数组Go 语言提供了数组类型的数据结构。数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。相对于去声明 number0, number1, …, number99 的变量,使用数组形式 numbers[0], numbers[1] …, numbers[99] 更加方便且易于扩展。数组元素可以通过索引(位置)来读取(或者修改),索引从 0 开始,第一个元素索引为 0,第二个索引为 1,以此类推。 声明数组Go 语言数组声明需要指定元素类型及元素个数,语法格式如下:var arrayName [size]dataType 其中,arrayName 是数组的名称,size 是数组的大小,dataType 是数组中元素的数据类型。以下定义了数组 balance 长度为 10 类型为 float32:var balance [10]float32 初始化数组以下演示了数组初始化: 以下实例声明一个名为 numbers 的整数数组,其大小为...
Go语言数据类型
Go 语言数据类型 在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。Go 语言按类别有以下几种数据类型: 序号类型和描述1布尔型布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。2数字类型整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。3字符串类型:字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。4派生类型:包括: (a) 指针类型(Pointer)(b) 数组类型 (c) 结构化类型(struct) (d) Channel 类型 (e) 函数类型 (f) 切片类型 (g) 接口类型(interface) (h) Map 类型 数字类型 Go 也有基于架构的类型,例如:int、uint 和...
Go语言教程
Go 语言教程 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 Go 语言特色 简洁、快速、安全并行、有趣、开源内存管理、数组安全、编译迅速 Go 语言用途Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。 第一个 Go 程序接下来我们来编写第一个 Go 程序 hello.go(Go 语言源文件的扩展是 .go),代码如下: hello.go 文件 package main import “fmt” func main() { ...
Go语言接口
Go 语言接口 接口(interface)是 Go 语言中的一种类型,用于定义行为的集合,它通过描述类型必须实现的方法,规定了类型的行为契约。Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。Go 的接口设计简单却功能强大,是实现多态和解耦的重要工具。接口可以让我们将不同的类型绑定到一组公共的方法上,从而实现多态和灵活的设计。接口的特点隐式实现: Go 中没有关键字显式声明某个类型实现了某个接口。只要一个类型实现了接口要求的所有方法,该类型就自动被认为实现了该接口。 接口类型变量: 接口变量可以存储实现该接口的任意值。接口变量实际上包含了两个部分:动态类型:存储实际的值类型。动态值:存储具体的值。 零值接口: 接口的零值是 nil。一个未初始化的接口变量其值为 nil,且不包含任何动态类型或值。 空接口: 定义为 interface{},可以表示任何类型。接口的常见用法多态:不同类型实现同一接口,实现多态行为。解耦:通过接口定义依赖关系,降低模块之间的耦合。泛化:使用空接口 interface{}...
Go语言指针
Go 语言指针Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。接下来让我们来一步步学习 Go 语言指针。我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。以下实例演示了变量在内存中地址:实例package main import “fmt” func main() { var a int = 10 fmt.Printf(“变量的地址: %x\n”, &a )} 执行以上代码输出结果为:变量的地址: 20818a220 现在我们已经了解了什么是内存地址和如何去访问它。接下来我们将具体介绍指针。 什么是指针一个指针变量指向了一个值的内存地址。类似于变量和常量,在使用指针前你需要声明指针。指针声明格式如下:var var_name *var-type var-type 为指针类型,var_name 为指针变量名,* 号用于指定变量是作为一个指针。以下是有效的指针声明:var ip int /...
Go语言循环语句
Go 语言循环语句在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执行语句块 循环嵌套 在 for 循环中嵌套一个或多个 for 循环 循环控制语句循环控制语句可以控制循环体内语句的执行过程。GO 语言支持以下几种循环控制语句: 控制语句 描述 break 语句 经常用于中断当前 for 循环或跳出 switch 语句 continue 语句 跳过当前循环的剩余语句,然后继续进行下一轮循环。 goto 语句 将控制转移到被标记的语句。 无限循环如果循环中条件语句永远不为 false 则会进行无限循环,我们可以通过 for 循环语句中只设置一个条件表达式来执行无限循环:实例package main import “fmt” func main() { for true { fmt.Printf(“这是无限循环。\n”); }}
Go语言开发工具
Go 语言开发工具 VSCodeVScode 安装教程参见:https://www.runoob.com/w3cnote/vscode-tutorial.html然后我们打开 VSCode 的扩展(Ctrl+Shift+P): 搜索 go: 点击安装,安装完成后我们就可以使用代码提示、测试、调试等功能了。 GoLandGoLand 是 Jetbrains 家族的 Go 语言 IDE,有 30 天的免费试用期。安装也很简单访问 Goland 的下载页面,根据你当期的系统环境三大平台(Mac、Linux、Windows)下载对应的软件。 LiteIDELiteIDE 是一款开源、跨平台的轻量级 Go 语言集成开发环境(IDE)。支持的 操作系统 Windows x86 (32-bit or 64-bit)Linux x86 (32-bit or 64-bit) 下载地址 :http://sourceforge.net/projects/liteide/files/源码地址 :https://github.com/visualfc/liteide EclipseEclipse...