第1章:Go语言入门

第1章:Go语言入门

1. Go语言概述

1.1 语言历史

Go语言(Golang)是由Google公司于2007年开始开发,并于2009年正式开源的编程语言。其主要创始人包括:

  • Rob Pike(Unix和Plan 9操作系统的创始人之一)
  • Ken Thompson(Unix操作系统和C语言的联合发明人)
  • Robert Griesemer(V8 JavaScript引擎的设计者)

1.2 设计理念

Go语言的设计初衷是解决当时软件开发中的一些痛点:

  1. 简化复杂的软件开发过程
  2. 提高多核和网络系统编程的效率
  3. 保持语言的简单性和可读性
  4. 支持高效的并发编程

1.3 Go语言的优势

  1. 简单易学

    • 语法简洁,学习曲线平缓
    • 关键字少,语言规范小
  2. 高性能

    • 编译速度快
    • 执行效率接近C语言
    • 垃圾回收机制先进
  3. 并发编程

    • 原生支持并发(goroutine)
    • 轻量级线程模型
    • 通道(Channel)机制简化并发通信
  4. 强大的标准库

    • 丰富的内置包
    • 网络编程支持
    • 跨平台开发

1.4 应用场景

  1. 云计算和分布式系统

    • Kubernetes
    • Docker
    • Etcd
  2. 网络编程

    • 高性能Web服务器
    • 微服务架构
    • 网络爬虫
  3. 系统编程

    • 命令行工具
    • 后台服务
    • 性能监控工具
  4. 区块链和加密货币

    • Ethereum
    • Hyperledger项目

2. 开发环境搭建

2.1 Go SDK安装

Windows安装步骤
  1. 下载Go安装包
bash 复制代码
# 访问官方网站下载
https://golang.org/dl/
  1. 运行安装程序,选择安装路径(推荐:C:\Go)

  2. 配置环境变量

    • 添加 C:\Go\bin 到系统PATH
    • 设置 GOROOTC:\Go
    • 设置 GOPATH(项目工作空间)
  3. 验证安装

bash 复制代码
# 打开命令提示符
go version
go env

2.2 开发工具配置

VSCode配置
  1. 安装VSCode

  2. 安装Go扩展

    • 打开扩展市场
    • 搜索"Go"
    • 安装官方Go扩展
  3. 安装Go工具

bash 复制代码
# VSCode中打开终端,执行
go install golang.org/x/tools/gopls@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install github.com/stamblerre/gocode@latest
GoLand配置
  1. 下载并安装GoLand
  2. 配置Go SDK
    • 打开设置
    • 选择Go安装目录
    • 配置GOPATH

3. 第一个Go程序

3.1 Hello World示例

go 复制代码
// main.go
package main  // 声明包名

import "fmt"  // 导入fmt包用于打印

// main函数是程序入口
func main() {
    fmt.Println("Hello, Go语言!")
}

3.2 程序结构解析

  1. package main:声明程序的包名

    • main包是可执行程序的入口
    • 每个Go程序必须有一个main包
  2. import "fmt":导入标准库包

    • fmt用于格式化输入输出
    • 可以导入多个包
  3. func main():主函数

    • 程序执行的起点
    • 必须在main包中
    • 没有参数,没有返回值

3.3 编译和运行

方法1:直接运行
bash 复制代码
# 在程序目录下
go run main.go
方法2:编译可执行文件
bash 复制代码
# 编译
go build main.go

# 运行(Windows)
main.exe

# 运行(Linux/macOS)
./main

3.4 常见命令

bash 复制代码
# 格式化代码
go fmt main.go

# 检查代码
go vet main.go

# 安装依赖
go mod tidy
相关推荐
计算机学姐6 分钟前
基于SpringBoot的斯诺克球馆预约购票管理系统
java·vue.js·spring boot·后端·mysql·spring·intellij-idea
LuckyLay7 分钟前
Golang学习笔记_19——Stringer
笔记·学习·golang
醒了就刷牙11 分钟前
黑马Java面试教程_P11_技术场景
java·开发语言·面试
weixin_4825655324 分钟前
液显ID读卡器C#小程序开发
开发语言·c#
初级代码游戏27 分钟前
C# 修改项目类型 应用程序程序改类库
开发语言·c#·项目类型
CyberScriptor28 分钟前
Elixir语言的正则表达式
开发语言·后端·golang
兮动人29 分钟前
SpringBoot数据层解决方案
java·spring boot·后端
BinaryBardC29 分钟前
F#语言的数据结构
开发语言·后端·golang
LuckyLay1 小时前
Golang学习笔记_20——error
笔记·学习·golang·error
SyntaxSage1 小时前
Swift语言的软件工程
开发语言·后端·golang