Golang概述


一、Go语言的核心特点

  1. 简洁高效

    • 语法类似C,但简化了复杂性(如无分号、自动垃圾回收)。
    • 编译速度快,支持静态链接,生成独立的二进制文件。
  2. 并发模型

    • 原生支持协程(goroutine)和通道(channel),简化并发编程。
    • 基于CSP(Communicating Sequential Processes)模型。
  3. 应用领域

    • 区块链、后端服务、云计算/云服务等。

二、开发环境搭建

  1. SDK安装

    • Windows :下载对应版本(32位/64位),解压后配置环境变量:
      • GOROOT:SDK安装路径(如 D:\go)。
      • PATH:添加 %GOROOT%\bin
      • GOPATH:工作目录(项目路径,如 D:\goproject)。
    • Linux/Mac :解压至 /opt/go,配置环境变量类似。
  2. 开发工具

    • 推荐使用 VSCode,安装Go插件支持语法高亮、调试等功能。

三、第一个Go程序

go 复制代码
package main  // 声明包名(main包为程序入口)
import "fmt"  // 导入标准库fmt

func main() {
    fmt.Println("Hello, World!")  // 输出语句
}
  • 运行方式
    • 编译执行:go build hello.go → 生成可执行文件。
    • 直接运行:go run hello.go

四、基础语法注意事项

  1. 变量声明

    • 三种方式:

      go 复制代码
      var name string = "Tom"  // 显式类型声明
      var age = 20            // 类型推导
      height := 180           // 短声明(函数内使用)
    • 多变量声明:

      go 复制代码
      var a, b, c int = 1, 2, 3
      x, y := 10, "hello"
  2. 数据类型

    • 基本类型int, float32/64, bool, string
    • 派生类型:指针、数组、结构体等。
    • 默认值 :数值类型为0,字符串为"",布尔为false
  3. 类型转换

    • 必须显式转换(不支持隐式):

      go 复制代码
      var i int = 42
      var f float64 = float64(i)
  4. 运算符

    • 算术:+, -, *, /, %, ++, --
    • 比较:==, !=, >, <
    • 逻辑:&&, ||, !

五、代码规范与工具

  1. 注释

    • 单行注释://
    • 多行注释:/* ... */
  2. 代码风格

    • 缩进使用Tab,运算符两侧加空格。
    • 使用gofmt工具自动格式化代码。
  3. 常见错误

    • 变量未使用、导入未使用的包会编译失败。
    • 大括号不可换行(如 if { ... })。

六、常用命令

命令 说明
go version 查看Go版本
go env 查看环境变量配置
go doc fmt.Println 查看标准库函数文档

七、学习资源


此章节为Go语言的基础入门,重点在于环境配置、语法基础和代码规范,为后续深入学习打下基础。

相关推荐
Dxy12393102162 小时前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
我学上瘾了2 小时前
Spring Cloud的前世今生
后端·spring·spring cloud
波波0073 小时前
ASP.NET Core 健康检查实战:不只是一个 /health 接口
后端·asp.net
小码哥_常3 小时前
Spring Boot 搭建邮件发送系统:开启你的邮件自动化之旅
后端
故事和你913 小时前
洛谷-数据结构1-1-线性表1
开发语言·数据结构·c++·算法·leetcode·动态规划·图论
石榴树下的七彩鱼4 小时前
图片修复 API 接入实战:网站如何自动去除图片水印(Python / PHP / C# 示例)
图像处理·后端·python·c#·php·api·图片去水印
我叫黑大帅4 小时前
为什么TCP是三次握手?
后端·网络协议·面试
我叫黑大帅4 小时前
如何排查 MySQL 慢查询
后端·sql·面试
techdashen4 小时前
Rust项目公开征测:Cargo 构建目录新布局方案
开发语言·后端·rust
星空椰4 小时前
JavaScript 进阶基础:函数、作用域与常用技巧总结
开发语言·前端·javascript