小白学Go入门的基础语法 | 青训营

2023年 8月 23日 80.0k 0

下面是学习Go语言入门的基础语法和常用特性的个人笔记:

1、Golang开发环境的搭建

1.1、Windows下Golang开发环境
使用VsCode

1、安装VsCode

2、进入VsCode,下载Go插件

image-20230822093818602.png

直接安装

下载Goloang安装包,Go语言官网(golang.google.cn/dl/),感觉自己电脑选择对应的安装包。安装时傻瓜式

image-20230822222106969.png

image-20230822221957940.png

配置环境变量

image-20230822094850953.png
使用go version或者go env查看是否配置完成

image-20230822094956453.png

注:Golang编译器选择主流的用VS Code、Jetbrains Goloang(付费,无社区版),个人感觉Golang使用起来比较舒服一点,如果是学生的可以使用学生邮箱等方法申请Jetbrains全家桶的教育包,直接白嫖;或者也有其他手段[doge]。

1.2、Linux下Golang开发环境

本人使用的Linux环境是CentOS7.8,下面以阿里云服务器搭建Go开发环境为例,当然也可以使用虚拟机进行搭建,虚拟机的Linux系统的安装操作比较简单便不再赘述。

下载Golang运行环境的SDK,选择Linux版本的进行下载,解压

wget    https://dl.google.com/go/go1.21.0.linux-amd64.tar.gz
tar -zxvf go1.21.0.linux-amd64.tar.gz
// 将解压后的文件移动到你的安装目录,这里我放到/opt/go
mv  go1.21.0.linux  /opt/go

配置环境变量

// 使用vim编辑配置文件,加入以下三条指令
vim /etc/profile
​
export GOROOT=/opt/go/bin
​
// 编辑后保存,并刷新配置文件
source /etc/profile

image-20230822093527562.png

image-20230822093451627.png
使用go version或者go env查看是否配置完成

image-20230822093639987.png

1.3、运行helloworld

新建helloworld.go文件,使用go build && ./main 或者go run mian.go运行,其中前者先对go源文件进行编译生成可以执行文件后运行该文件,后者直接运行源文件不产生可执行文件。

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

2、Golang基础入门

2.1、包和导入

Go程序由多个包(package)组成,每个包都是一个相关功能的集合。main包是每个可执行程序的入口包,当程序运行时先执行main包中的main()函数。我们可以通过使用import导入标准库中的包或者第三方库;

package main // 声明当前文件所属的包
​
import (
    "fmt"   // 导入标准库中的格式化包
)
​
// main函数是程序的入口点
func main() {
    // 使用fmt包中的Println函数打印输出
    fmt.Println("hello world!")
}

导入第三方库时可以使用官方推荐的依赖管理工具 go get,通过再项目下的终端输入go get 安装指定的包或库,或者直接 go get下载项目所有的依赖包和库,同时可以使用go mod tidy清楚多余的项目依赖包

go get github.com/gin-gonic/gin     // 终端输入
go get -u github.com/gin-gonic/gin      // -u 安装或者更新到最新版本
2.2、 变量和常量

在Go中,使用var关键字声明变量,也可以使用自动推导(有点类似余python)。同时在go中要注意的是go的变量声明但未使用,再编译时会报错。

var a int  // 声明一个int的变量a
b := 5 // 定义一个int类型的变量b,值
2.3 、数据类型

Go提供了基本的数据类型,如整数、浮点数、布尔值和字符串。另外,Go还有复合数据类型,如数组、切片、映射、结构体和接口。

2.4、流程控制

Go支持常见的流程控制结构,如条件语句(if-else)、循环语句(for)、以及开关语句(switch、fallthrough)。

package main
​
import "fmt"
​
// 打印偶数
func myfunc1() {
    num := 20
    for i := 1; i < num; i++ {
        if i %2 == 0 {
            fmt.Print(i, " ")
        }   
    }
}
​
func main() {
    myfunc1()
}

image-20230822102023515.png

2.5、函数

使用关键字func定义函数。Go中的函数可以返回多个值。函数可以作为参数传递给其他函数,也可以作为返回值。

func add(a, b int) int {
    return a + b
}
2.6、 结构体

结构体允许你定义自己的复合数据类型,可以包含不同类型的字段。

type Person struct {
    FirstName string
    LastName  string
    Age       int
}
2.7、方法

Go允许在结构体上定义方法,这使得类型可以具有自己的行为。

func (p Person) Name() string {
    return p.FirstName + " " + p.LastName
}
2.8、错误处理

Go鼓励使用多返回值来处理错误。通常,函数会返回一个结果以及一个错误(error)对象,以便调用者可以判断函数是否成功执行。

result, err := myFunc()
if err != nil {
    panic() // 处理错误
}

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论