Go编程教程指南.docxVIP

  • 0
  • 0
  • 约3.18万字
  • 约 64页
  • 2026-01-15 发布于广东
  • 举报

Go

编程指南

指南的使用

欢迎来到\hGo编程语言指南。本指南涵盖了该语言的大部分重要特性,主要包括:

学习如何使用本指南:包括如何在不同的课程之间切换,以及如何运行代码。

基础

一开始,将学习关于语言的所有基础内容。

定义变量、调用函数、以及在你学习下一课之前所需要了解的全部内容。

包、变量和函数。

学习Go程序的基本组件。

流程控制语句:for、if、else和switch

学习如何用条件、循环和开关语句控制代码的流程。

复杂类型:struct、slice和map

学习如何基于已有类型定义新的类型:本课涵盖了结构体、数组、slice和

map。

方法和接口

学习如何为类型定义方法;如何定义接口;以及如何将所有内容贯通起来。

方法和接口

本课包含了方法和接口,可以用它们来定义对象和其行为。

并发

作为语言的核心部分,Go提供了并发的特性。

这一部分概览了goroutein和channel,以及如何使用它们来实现不同的并发模式。

并发

Go将并发作为语言的核心构成。本课将对其进行介绍,并提供了一些示例来展示如何使用它们。

一、包、函数、变量

每个Go程序都是由包组成的。程序运行的入口是包`main`。

这个程序使用并导入了包fmt和`math/rand`。

按照惯例,包名与导入路径的最后一个目录一致。例如,`math/rand`包由

packagerand语句开始。

注意:这个程序的运行环境是固定的,因此rand.Intn总是会返回相同的数

字。(为了得到不同的数字,需要生成不同的种子数,参阅\hrand.Seed。)

packages.go

package

packagemain

import(

fmtmath/rand

)

funcmain(){

fmt.Println(Myfavoritenumberis,rand.Intn(10))

}

导入

这个代码用圆括号组合了导入,这是“打包”导入语句。同样可以编写多个导入语句,例如:

importfmtimportmath

importfmtimportmath

不过使用打包的导入语句是更好的形式。

imports.go

package

packagemain

import(

fmt

math

)

funcmain(){

fmt.Printf(Nowyouhave%gproblems.,math.Nextafter(2,3))

}

导??名

在导入了一个包之后,就可以用其导出的名称来调用它。在Go中,首字母大写的名称是被导出的。

Foo和FOO都是被导出的名称。名称foo是不会被导出的。

执行代码。然后将math.pi改名为math.Pi再试着执行一下。

exported-names.go

package

packagemain

import(fmt

math

)

funcmain(){fmt.Println(math.pi)

}

函数

函数可以没有参数或接受多个参数。

在这个例子中,`add`接受两个int类型的参数。注意类型在变量名_之后_。

(参考\h这篇关于Go语法定义的文章了解类型以这种形式出现的原因。)

functions.go

package

packagemain

importfmt

funcadd(xint,yint)int{

returnx+y

}

funcmain(){fmt.Println(add(42,13))

}

函数(续)

当两个或多个连续的函数命名参数是同一类型,则除了最后一个类型之外,其他都可以省略。

在这个例子中,

Xint,yint

被缩写为

x,y

x,yintx,yint

functions-continued.go

package

packagemain

importfmt

funcadd(x,yint)int{

returnx+y

}

funcmain(){fmt.Println(add(42,13))

}

多值返回

函数可以返回任意数量的返回值。

swap函数返回了两个字符串。

mutiple-results.go

package

packagemain

importfmt

funcswap(x,ystring)(string,string){

returny,x

}

funcmain(){

a,b:=swap(hello,world)fmt.Println(a,b)

}

命名返回值

Go的返回值可以被命名,并且像变量那样使用。

返回

文档评论(0)

1亿VIP精品文档

相关文档