美文网首页人工智能
Go编程语言基础知识简介

Go编程语言基础知识简介

作者: AI研习社 | 来源:发表于2020-10-30 16:24 被阅读0次

译者:AI研习社(Maker

双语原文链接:https://www.yanxishe.com/TextTranslation/2943


Go编程语言基础知识简介

Go是一种开源编程语言,大约在11年前首次出现,与30岁的Python和35岁的C++相比,这门语言非常年轻。

Go是由谷歌的 Robert Griesemer, Rob Pike和 Ken Thompson设计的,目的是让开发人员更快、更容易地进行软件开发。

根据HackerEarth调查,Go是最受学生和专业开发人员欢迎的编程语言。

事实上, Go 是最容易学的语言之一。在这篇文章中,我将尝试介绍 Go的一些基本概念。我希望这篇文章能激励您进一步学习这门语言。我们开始吧!

Go是一种开源编程语言,可以轻松构建简单、可靠和高效的软件。

Hello World

这是写出“Hello World”的GO代码。

| package main
import "fmt"
func main () {
fmt.Println("Hello World")
} |

第一行称为 程序包说明,每个GO程序都以 程序包说明 开始。

下一行import“fmt”是一个import语句。IMPORT关键字允许我们从其他包导入和使用代码。fmt是format的缩写,但通常发音为‘fumpt’。你可以随便叫它什么。

Main()函数是一个特殊函数。带有程序包说明 的文件将自动运行main()函数。

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

变量和常量

在GO中,我们可以使用变量类型声明变量,也可以使用var关键字使用初始化器声明变量。还可以一次声明多个不同类型的变量。

| 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声明。但是,这在函数外部是不可能的。

常量的声明类似于变量,但使用了const关键字。常量可以是字符、字符串、布尔值或数字值。

循环和条件语句

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)

可以使用NAME[KEY]=VAL语法设置键/值。可以使用name[key]获取键的值。

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

| 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所著的围棋编程语言是一本很好的入门书。围棋编程蓝图和介绍围棋也是推荐的。

Go编程语言基础知识简介

Source https://learn.go.dev/


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

如果,你也是位热爱分享的AI爱好者。欢迎与译站一起,学习新知,分享成长。

相关文章

  • 初识go语言

    title: 初识go语言tag: golang 编程语言categories: notes 简介 Go语言是一门...

  • Go语法指南

    出处---Go编程语言 欢迎来到 Go 编程语言指南。本指南涵盖了该语言的大部分重要特性 Go 语言的交互式简介,...

  • Go编程语言基础知识简介

    译者:AI研习社(Maker[https://www.yanxishe.com/center/myPage/525...

  • Go语言入坑

    GO语言基础 认识并安装GO语言开发环境 Go语言简介 Go语言是谷歌2009年发布的第二款开源编程语言 go语言...

  • Go 语言入门

    Go 语言入门 Go 语言简介 Go 使一个开源的编程语言。 从2007年末 有Robert Griesemer,...

  • GO语言学习之路(1)开发环境的安装

    Go语言简介 Go语言是Google开发的开源编程语言,于2009年11月开源,2012年发布Go稳定版。Go语言...

  • Go语言简介

    Go语言简介 Go语言设计的初衷 针对其他语言的痛点进行设计并加入并发编程为大数据,微服务,并发而生的通用编程语言...

  • Golang 学习笔记

    golang 简介 静态 强类型 编译型语言 GO语言适用场景及GO语言的优势Go语言是谷歌推出的一种全新的编程...

  • 应用编程基础课第三讲:Go编程基础

    上面两次课我讲解了编程方面的基础知识,这次开始,我使用Go语言来做一些编程实践方面的讲解。 今天先来说下Go语言中...

  • Go语言学习教程(一)

    一、Go语言简介 Go语言是谷歌公司于2009年11月发布的编程语言。Go语言是一种开源的程序设计语言,它使得开发...

网友评论

    本文标题:Go编程语言基础知识简介

    本文链接:https://www.haomeiwen.com/subject/yppdvktx.html