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

相关推荐
uhakadotcom3 分钟前
最新发布的Claude 3.7 Sonnet提供了什么新能力,效果如何?
后端·架构·github
Evaporator Core14 分钟前
MATLAB在数据分析和绘图中的应用:从基础到实践
开发语言·matlab·数据分析
计算机毕设指导620 分钟前
基于Springboot医院预约挂号小程序系统【附源码】
java·spring boot·后端·spring·小程序·apache·intellij-idea
瓦力的狗腿子37 分钟前
Starlink卫星动力学系统仿真建模第十讲-基于SMC和四元数的卫星姿态控制示例及Python实现
开发语言·python·算法
m0_7482347137 分钟前
Java基础进阶提升
java·开发语言
学而不思则罔~1 小时前
Go 之 语言基本类型
开发语言·后端·golang
千年死缓1 小时前
go实现敏感词过滤
开发语言·后端·golang
老赵骑摩托1 小时前
Go 语言内存池 (`sync.Pool`) 深度解析
golang
张子栋1 小时前
SpringMVC(一)SpringMVC入门案例、PostMan工具的使用、请求与响应、Rest风格
java·后端
shinelord明1 小时前
【再谈设计模式】访问者模式~操作对象结构的新视角
开发语言·数据结构·算法·设计模式·软件工程