Go、DevOps运维开发实战(视频教程)

概述

  • Go语言是由Google开发的一门静态强类型编程语言,具有语法简洁、并发处理能力强等特点。
  • 视频教程:https://pan.quark.cn/s/81951cda7d11

环境搭建

  1. 下载安装:访问Go官方网站,根据操作系统下载相应的Go安装包,然后按照提示进行安装。
  2. 设置环境变量 :Windows用户需将Go的安装路径添加到系统环境变量的PATH中;macOS/Linux用户可在终端中执行export PATH=$PATH:/usr/local/go/bin命令。
  3. 验证安装 :打开命令行工具,输入go version,若能看到类似go version go1.18.3的信息,说明Go语言安装成功。

第一个Go程序

创建一个名为main.go的文件,输入以下代码:

go 复制代码
package main
import "fmt"
func main() {
    fmt.Println("Hello, Go!")
}

在命令行中进入该文件所在目录,执行go run main.go,即可看到输出Hello, Go!

基本语法

  1. 变量声明
    • 显式声明 :使用var关键字,如var a int = 10
    • 类型推断 :使用:=,如b := 20,Go会根据右侧的值自动推断变量的类型。
  2. 数据类型
    • 基本类型 :包括intint8int32int64等整数类型,float32float64等浮点数类型,bool布尔类型,string字符串类型。
    • 复合类型:有数组、切片、结构体、映射等。
  3. 控制结构
    • if语句 :支持可选的初始化语句,如if age := 20; age > 18 { fmt.Println("Adult") } else { fmt.Println("Minor") }
    • for语句 :用法灵活,可作为传统的for循环使用,如for i := 1; i <= 5; i++ { fmt.Println(i) };也可像while循环那样,如j := 5; for j > 0 { fmt.Println(j); j-- }
    • switch语句 :与其他语言类似,不过Go中不需要break来防止穿透,除非使用fallthrough关键字。

并发编程

  1. Goroutine :它是比线程更轻量级的并发机制,启动一个Goroutine只需在函数调用前加上go关键字,如go func() { fmt.Println("Running in Goroutine") }()
  2. Channel :用于在Goroutine之间传递数据的管道,可使用make函数创建,如ch := make(chan int),通过ch <- 1发送数据,result := <-ch接收数据。

函数

使用func关键字定义函数,例如:

go 复制代码
func greet(name string) string {
    return "Hello, " + name
}
func main() {
    message := greet("John")
    fmt.Println(message)
}
相关推荐
小短腿的代码世界15 小时前
Qt实时盈亏计算深度解析:从持仓数据到动态盈亏展示
开发语言·qt
小康小小涵15 小时前
基于ESP32S3实现无人机RID模块底层源码编译
linux·开发语言·python
lzjava202416 小时前
Python的函数
开发语言·python
Awesome Baron16 小时前
skill、tool calling、MCP区别
开发语言·人工智能·python
Python私教16 小时前
GenericAgent PySide6 桌面应用深度解析:悬浮按钮 + 聊天面板的原生 Qt 方案
开发语言·数据库·qt
矢志航天的阿洪16 小时前
用 MATLAB 控制 STK Aviator:从零搭建一个 AWACS 支援作战场景
开发语言·matlab
澈20717 小时前
STL迭代器:容器遍历的万能钥匙
开发语言·c++
AI人工智能+电脑小能手17 小时前
【大白话说Java面试题】【Java基础篇】第24题:Java面向对象有哪些特征
java·开发语言·后端·面试
geovindu18 小时前
go: Strategy Pattern
开发语言·设计模式·golang·策略模式
276695829218 小时前
阿里最新acw_sc__v2 分析
开发语言·python·acw_sc__v2·acw_sc__v2逆向·acw_sc__v2算法·acw_sc__v2算法分析·cookie逆向