Go 语言系列教程の切片
切片是数组上面的一个方便、灵活和强大的包装器。切片并不拥有自己的任何数据。它们只是对现有数组的引用。 创建切片一个具有 T 类型元素的切片用 []T 表示。 1234567891011package mainimport ( "fmt")func main() { a := [5]int{76, 77, 78, 79, 80} var b []int = a[1:4] // 创建一个 a[1] 到 a[3] 的切片 fmt.Println(b)} Run in playground 语法a[start:end]从数组 a 中创建一个切片,从索引 start 开始到索引 end-1。所以在上述程序中,a[1:4]创建了一个从索引 1 到 3 的数组a的切片。因此切片b的值是[77 78 79]`。 让我们来看看创建切片的另一种方法。 12345678910package mainimport ( "fmt")func main() { c := []in ...
Go 语言系列教程の数组
数组是属于同一类型的元素的集合。 例如,整数 5、8、9、79、76 的集合构成一个数组。 Go 中不允许混合不同类型的值,例如同时包含字符串和整数的数组。 数组声明数组属于类型 [n]T。 n 表示数组中元素的数量,T 表示每个元素的类型。 元素的数量 n 也是类型的一部分(我们将在稍后更详细地讨论这一点。) 声明数组有不同的方法。 让我们一一看看它们。 12345678910package mainimport ( "fmt")func main() { var a [3]int // 长度为 3 的数组 fmt.Println(a)} Run in playground var a[3]int 声明了一个长度为 3 的整数数组。数组中的所有元素都会自动分配数组类型的零值。 在这种情况下,a 是一个整数数组,因此 a 的所有元素都分配给 0,即 int 的零值。 运行上面的程序会打印 1[0 0 0] 数组的索引从 0 开始,到 length - 1 结束。 让我们为上面的数组分配一些值。 123456789101112 ...
Go 语言教程系列のSwitch 语句
switch 语句是什么?switch 是一个条件语句,它对表达式进行求值并将其与可能的匹配列表进行比较,并执行相应的代码块。可以将其视为替换复杂的 if 语句的惯用方式。 示例Talk is cheap,show you the example。让我们从一个简单的示例开始,该示例将一个手指编号作为输入并输出该手指的名称。 例如,1 是拇指,2 是食指,依此类推。 1234567891011121314151617181920212223package mainimport ( "fmt")func main() { finger := 4 fmt.Printf("Finger %d is ", finger) switch finger { case 1: fmt.Println("Thumb") case 2: fmt.Println("Index") case 3: fmt.Println(&quo ...
Go 语言教程系列の循环
循环语句用于重复执行代码块。 for 是 Go 中唯一可用的循环。Go 没有在其他语言(例如 C)中存在的while 或 do while 循环。 for 循环语法12for initialisation; condition; post {} 初始化语句将仅执行一次。循环初始化后,将检查条件。如果条件的计算结果为 true,则将执行 { } 内部的循环主体,然后执行 post 语句。 每次循环成功迭代后,将执行 post 语句。执行 post 语句后,将重新检查条件。如果为 true,则循环将继续执行,否则 for 循环终止。 Go 中的 for 循环的三个部分,即初始化,条件和发布都是可选的。让我们看一个示例,以更好地理解循环。 示例让我们编写一个程序,该程序使用 for 循环打印从 1 到 10 的所有数字。 1234567891011package mainimport ( "fmt")func main() { for i := 1; i <= 10; i++ { ...
Go 语言教程系列のif else 语句
if 是一个具有布尔条件的语句,如果该条件的值为 true,它将执行一个代码块。如果判定条件为 false,它将执行 else 代码块。在本教程中,我们将研究 if 语句的各种语法和使用方法。 if 语句语法下面的代码正是 if 语句的语法: 12if condition {} 如果 condition 被判定为 true,大括号 { 和 } 之间的代码将被执行。 与其他语言(例如C、JavaScript)不同,Go 语言中大括号 {} 是必需的,即使大括号 {} 之间只有一行代码。 Example让我们来写一个简单的程序来判断一个数字的奇偶性。 1234567891011121314package mainimport ( "fmt")func main() { num := 10 if num%2 == 0 { // 检查数字是否是奇数 fmt.Println("The number", num, " ...
Go 语言教程系列の包
大家好,我是 @洛竹 本文首发于 洛竹的官方网站 本文翻译自 Golang tutorial series 本文同步于公众号洛竹早茶馆,转载请联系作者。 什么是包(package),为什么使用它们?到目前为止,我们已经看到 Go 程序只有一个带有 main 函数的文件,以及几个其他函数。在实际情况下,这种将所有源代码写入单个文件的方法是不可扩展的。重用和维护以此方式编写的代码几乎是不可能。这时就需要用到包的概念。 包用于组织 Go 源代码,以提高可重用性和可读性。包是位于同一目录中的 Go 源文件的集合。包提供了代码分隔,因此我们可以轻松维护 Go 项目。 例如,假设我们正在 Go 中编写财务应用程序,其中一些功能是单利计算、复利计算和贷款计算。组织此应用程序的一种简单方法是根据功能。我们可以创建包 simpleinterest、compoundinterest 和 loan。如果 loan 包需要计算单利,则可以通过导入 simpleinterest 包来简单地进行计算。这样,代码就可以重用。 我们将通过创建一个简单的应用程序来学习包,以确定给定的本金、利率和持续时间(以年为单位 ...
Go 语言教程系列の函数
函数是什么?函数是执行特定任务的代码块。一个函数接受一个输入,对该输入执行一些计算,然后生成一个输出。 函数声明Go 语言声明一个函数的语法是: 123func functionname(parametername type) returntype { // 函数体} 函数声明以关键字 func 开头,后跟 functionname。参数在函数 ( 和 ) 之间指定,然后跟着的是 函数的 returntype。指定参数的语法是参数名称后跟类型。可以指定任意数量的参数,例如 (parameter1 type,parameter2 type)。然后在 { 和 } 之间有一个代码块,它是函数的主体。 参数和返回类型在函数中是可选的。因此,以下语法也是有效的函数声明。 12func functionname() {} 示例让我们编写一个函数,该函数将单个产品的价格和产品数量作为输入参数,并通过将这两个值相乘来计算总价格并返回输出。 1234func calculateBill(price int, no int) int ...
Go 语言教程系列の常量
常量是什么?Go 中的常量一词用于表示固定值,例如: 12395"I love Go"67.89 声明一个常量关键字 const 用于声明常量。让我们看看如何使用 const 来声明一个常量。 12345678910package mainimport ( "fmt")func main() { const a = 50 fmt.Println(a)} Run in playground 上面的代码中,a 是一个常量并被赋值为 50。 声明一组常量还有另一种语法可以使用单个语句定义一组常量。下面提供了使用此语法定义一组常量的示例。 12345678910111213141516package mainimport ( "fmt")func main() { const ( name = "John" age = 50 country = "Canada" ) fmt.Pr ...
Go 语言教程系列の数据类型
下面是 Go 语言中可用的基础类型: bool Numeric Types int8, int16, int32, int64, int uint8, uint16, uint32, uint64, uint float32, float64 complex64, complex128 byte rune string boolbool 表示 boolean 类型,用来表达 true 或 false 的。 生存还是毁灭,这是一个问题! 12345678910111213package mainimport "fmt"func main() { a := true b := false fmt.Println("a:", a, "b:", b) c := a && b fmt.Println("c:", c) d := a || b fmt.Println("d:", d)} Run in playgr ...
Go 语言教程系列の变量
这是我们 Golang 教程系列中的第三篇教程,它涉及 Golang 中的变量。 你可以先阅读 《Go 语言教程系列》Hello World | Go 主题月 来了解关于配置 Go 和运行 hello world 程序的信息。 变量是什么?变量是为内存地址指定的名称,用于存储特定类型的值。Go 中有多种语法来声明变量。让我们一一看一下。 声明单个变量var name type 是声明单个变量的语法。 12345678package mainimport "fmt"func main() { var age int // 变量声明 fmt.Println("My age is", age)} Run in playground 语句 var age int 声明了一个类型为 int 的名为 age 的变量。我们没有为该变量赋任何值。如果未为变量分配任何值,则 Go 会使用变量类型的“零值”自动将其初始化。在这种情况下,为年龄分配了值 0,即 int的零值。如果运行此程序,则可以看到以下输出。 1My age is 0 ...