Go编程语言基础知识简介

2023-05-26 0 566

Go是一类开放源码C词汇,约在11天前首度再次出现,与30岁的Python和35岁的C++较之,尖萼词汇十分年青。

Go是由Google的 Robert Griesemer, Rob Pike和 Ken Thompson结构设计的,目地是让开发者更快、更难地展开应用软件结构设计。

依照HackerEarth展开调查,Go是倍受小学生和专精开发者热烈欢迎的C词汇。

实际上, Go 是最难学的词汇众所周知。在这首诗中,我将试著如是说 Go的许多基本原理。我期望这首诗能鞭策您更进一步自学尖萼词汇。他们已经开始吧!

Go是一类开放源码C词汇,能随心所欲构筑单纯、可信和高效率的应用软件。

Hello World

这是写下“Hello World”的GO标识符。

package main

import “fmt”

func main () {

fmt.Println(“Hello World”)

}

第二行称作 LZSS表明,每一GO流程都以 LZSS表明 已经开始。

下带队import“fmt”是两个import句子。IMPORTURL容许他们从其它包引入和采用标识符。fmt是format的简写,但一般来说读音为‘fumpt’。你能就行了叫它甚么。

Main()表达式是两个特定表达式。带有LZSS表明 的文件将自动运行main()表达式。

在主表达式块中,他们有fmt.Println(“Hello World”).println是用于打印文本的表达式,在他们的示例中是Hello World。

变量和常量

在GO中,他们能采用变量类型声明变量,也能采用varURL采用初始化器声明变量。还能一次声明多个不同类型的变量。

var a, b int = 0, 1

func main() {

var c, d, e = true, “GO”, 2.33

f := -5

fmt.Println(a, b, c, d, e, f)

}

如果没有提到变量的类型,则变量将采用初始值设定项的类型。

在表达式内部,能采用:=Short赋值句子代替var声明。但是,这在表达式外部是不可能的。

常量的声明类似于变量,但采用了constURL。常量能是字符、字符串、布尔值或数字值。

循环和条件句子

For循环

GO只有for循环构造。For循环有三个用分号分隔的组件:

Init句子:在第一次迭代之前执行

条件表达式:在每次迭代之前求值

POST句子:在每次迭代结束时执行

sum := 0

for i := 0; i < 10; i++ {

sum += i

}

fmt.Println(sum)

fmt.Println(sum)Init和POST句子是可选的。如果将init和POST句子与分号一起删除,则循环将变成WHILE循环。 当条件表达式也被移除并无限运行时,循环变成无限循环。

IF句子

if num := 9; num < 0 {

fmt.Println(num, “is negative”)

} else if num < 10 {

fmt.Println(num, “has 1 digit”)

} else {

fmt.Println(num, “has multiple digits”)

}

Go的if句子与其它词汇的句子类似。在If Short句子中声明的变量也能在任何Else块中采用。

在GO中没有三元数-IF,所以即使对于基本条件,他们也需要采用完整的IF句子。

(注:GO也有GET SWITCH句子,但为单纯起见,省略了它。您能在此处了解SWITCH句子)

表达式

两个表达式接受两个int,并将它们的和作为int返回。

if num := 9; num < 0 {

fmt.Println(num, “is negative”)

} else if num < 10 {

fmt.Println(num, “has 1 digit”)

} else {

fmt.Println(num, “has multiple digits”)

}

两个函数能接受零个或多个参数。变量的类型在变量名之后。

当有多个相同类型的连续变量传递给表达式时,能从除最后两个变量之外的所有变量中省略该类型。

结构、数组、切片和映射

结构

GO的结构是字段的集合。它们对于将数据组合在一起形成记录十分有用。

结构字段采用点展开访问。下面是该结构的两个示例。

type Vertex struct {

X int

Y int

}

func main() {

v := Vertex{1, 2}

fmt.Println(v.X,v.Y)

}

数组

表达式var a[10]int将变量声明为10个整数的数组。无法调整数组的大小,因为数组的长度是其类型的一部分。

他们能采用数组[INDEX]=VALUE在索引处设置值,并采用ARRAY[INDEX]获得值。

数组也能在带队中声明和初始化。缺省情况下,数组为零值

var a [2]string

a[0] = “Hello”

a[1] = “World”

fmt.Println(a[0], a[1])

fmt.Println(a)

primes := [6]int{2, 3, 5, 7, 11, 13}

fmt.Println(primes)

切片

切片是通过指定两个索引形成的,下限和上界用冒号a[LOW:HIGH]分隔

与具有固定大小的数组不同,切片是动态调整大小的。切片比数组更常见。

内置的APPEND表达式将两个或多个新值添加到切片。

primes := [6]int{2, 3, 5, 7, 11, 13}

var s []int = primes[1:4]

fmt.Println(s)

Maps

Maps是Go内置的关联数据类型(在某些词汇中称作DICTS)。映射将关键点映射到值。要创建空映射,请采用内置的make:make(map[key-type]val-type)

打印地图将显示其所有键/值对。下面是采用地图的示例。

m := make(map[string]int)

m[“A”] = 1

m[“B”] = 2

fmt.Println(“map:”, m)

n := map[string]int{“foo”: 1, “bar”: 2}

fmt.Println(“map:”, n)

}

更进一步阅读

我很高兴你花了这么长时间。我建议你去看看下面的网站s-A Tour of Go in Golang,并以身作则,深入了解尖萼词汇。

围棋能从其官方网站下载。Alan A.A.Donovan和Brian W.Kernighan所著的围棋C词汇是一本很好的入门书。围棋编程蓝图和如是说围棋也是推荐的。

Go编程语言基础知识简介

AI研习社是AI学术青年和AI开发者技术交流的在线社区。他们与高校、学术机构和产业界合作,通过提供自学、实战和求职服务,为AI学术青年和开发者的交流互助和职业发展打造一站式平台,致力成为中国最大的科技创新人才聚集地。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务