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语言的基础入门,重点在于环境配置、语法基础和代码规范,为后续深入学习打下基础。

相关推荐
细心的莽夫13 分钟前
SpringCloud 微服务复习笔记
java·spring boot·笔记·后端·spring·spring cloud·微服务
jack_xu2 小时前
高频面试题:如何保证数据库和es数据一致性
后端·mysql·elasticsearch
264玫瑰资源库2 小时前
问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
java·开发语言·前端·游戏
pwzs2 小时前
Java 中 String 转 Integer 的方法与底层原理详解
java·后端·基础
Asthenia04122 小时前
InnoDB文件存储结构与Socket技术(从Linux的FD到Java的API)
后端
普if加的帕2 小时前
java Springboot使用扣子Coze实现实时音频对话智能客服
java·开发语言·人工智能·spring boot·实时音视频·智能客服
Asthenia04122 小时前
RocketMQ 消息不丢失与持久化机制详解-生产者与Broker之间的详解
后端
〆、风神3 小时前
Spring Boot 整合 Lock4j + Redisson 实现分布式锁实战
spring boot·分布式·后端
Asthenia04123 小时前
Select、Poll、Epoll 详细分析与面试深度剖析/C代码详解
后端