Windows_GoLand GO语言开发环境构建

摘要:
本文介绍了在Windows系统上使用GoLand搭建Go语言开发环境的详细步骤。首先,需要从官网下载并安装Go语言主程序,并配置环境变量,设置代理以确保模块正常下载。接着,下载并安装GoLand IDE,进行必要的配置以优化开发体验。通过GoLand创建新项目,编写并运行第一个Go程序,验证环境搭建是否成功。此外,还介绍了Go语言常用命令的使用方法,并提供了命令对照翻译。最后,介绍了如何安装Lingma插件,以提高编程效率并支持中文注释。

关键词:GoLand、Go语言、IDE、Lingma

一、Go语言简介

(一)起源与发展

  1. 起源背景

Go语言(又称Golang)是由Google的Robert Griesemer、Rob Pike和Ken Thompson于2007年开始开发的。当时,他们希望设计一种语言,能够解决C++等传统语言在大规模软件开发中遇到的问题,例如编译速度慢、并发编程复杂、代码可维护性差等。Go语言的设计目标是提高开发效率,同时保持高性能和简洁性。
2. 发展历程

2009年,Go语言首次公开发布。2012年,Go 1.0版本发布,标志着语言的稳定性和生态系统的初步形成。此后,Go语言不断发展,社区也迅速壮大。Go语言因其简洁的语法、强大的并发支持和高效的编译速度,逐渐成为云计算、微服务、网络编程等领域的热门语言。例如,Docker、Kubernetes等知名项目都是用Go语言编写的。

(二)语言特点

  1. 简洁的语法

Go语言的语法简洁明了,易于学习和使用。它去掉了许多传统语言中的复杂特性,例如继承、泛型(早期版本)等,使得代码更加直观和易读。例如,Go语言的函数定义和变量声明都非常简洁,减少了代码的冗余。这种简洁性使得开发者能够快速上手,并且可以更高效地编写和维护代码。
2. 强大的并发支持

Go语言内置了对并发编程的支持,这是其最大的特色之一。Go引入了goroutine(轻量级线程)和channel(通道)的概念,使得并发编程变得非常简单和直观。goroutine的创建成本极低,可以轻松创建成千上万个并发任务,而channel则用于在goroutine之间安全地传递数据。这种设计使得Go语言在处理高并发场景时表现出色,例如在Web服务器和分布式系统中。
3. 高效的编译速度

Go语言的编译速度非常快,这是其另一个显著优势。Go的编译器设计注重效率,能够在短时间内将代码编译为高效的机器码。与C++等语言相比,Go的编译时间大幅缩短,这使得开发和调试过程更加高效。例如,一个中等规模的Go项目可以在几秒内完成编译,而类似的C++项目可能需要数分钟。
4. 垃圾回收机制

Go语言内置了垃圾回收(Garbage Collection,GC)机制,自动管理内存分配和回收。这使得开发者无需手动管理内存,从而减少了内存泄漏和指针错误等问题。垃圾回收机制虽然会带来一定的性能开销,但Go语言通过优化算法,尽量减少对程序性能的影响,同时保证了开发的便捷性和程序的稳定性。
5. 跨平台和标准库丰富

Go语言是跨平台的,支持多种操作系统和架构,包括Windows、Linux、macOS等。同时,Go语言提供了丰富的标准库,涵盖了网络编程、文件操作、并发控制、数据结构等多个方面。例如,net/http库提供了强大的Web服务器和客户端功能,使得开发Web应用变得非常简单。标准库的丰富性使得开发者可以快速构建各种应用程序,而无需依赖外部库。

(三)应用场景

  1. 网络编程

Go语言在网络编程领域表现出色。其内置的net库提供了强大的网络通信功能,支持TCP、UDP、HTTP等多种协议。Go的并发模型使得处理高并发网络请求变得非常高效。例如,许多高性能的Web服务器和API网关都是用Go语言编写的。Go语言的高效编译速度和垃圾回收机制也使得网络服务的部署和维护更加方便。
2. 微服务架构

Go语言是微服务架构的理想选择。微服务需要快速开发、高效部署和高并发处理能力,而Go语言的这些特性正好满足需求。Go语言的编译速度快,使得微服务的开发和迭代非常迅速。同时,goroutinechannel的并发模型使得微服务能够高效地处理并发请求。例如,许多基于微服务架构的云原生应用都使用Go语言开发。
3. 分布式系统

Go语言在分布式系统开发中也有广泛应用。其高效的并发支持和垃圾回收机制使得分布式系统中的节点能够高效地处理任务和通信。例如,Kubernetes(容器编排系统)和Etcd(分布式键值存储)都是用Go语言编写的。Go语言的跨平台特性也使得分布式系统能够在多种环境中运行。
4. 命令行工具

Go语言非常适合开发命令行工具。其简洁的语法和高效的编译速度使得开发命令行工具非常方便。Go语言的flag库提供了强大的命令行参数解析功能,使得开发者可以轻松地实现复杂的命令行工具。例如,许多开源的命令行工具,如fzf(模糊查找工具)等,都是用Go语言编写的。

(四)社区与生态

  1. 活跃的社区

Go语言拥有一个庞大且活跃的社区。社区成员包括开发者、企业用户和开源项目贡献者。Go社区通过各种渠道交流,如GitHub、Stack Overflow、Go论坛等。社区的活跃性使得Go语言不断发展,新的功能和改进不断被提出和实现。同时,社区也为开发者提供了丰富的学习资源和帮助,例如,初学者可以通过社区提供的教程、文档和开源项目来学习Go语言。
2. 丰富的生态系统

Go语言的生态系统非常丰富,涵盖了从Web开发到分布式系统、从机器学习到区块链等多个领域。例如,GinEcho是流行的Go Web框架,它们提供了高效的路由处理和中间件支持。Beego是一个功能强大的全栈Web框架,适用于企业级应用开发。此外,Go语言在云原生领域也有广泛的应用,例如,DockerKubernetes等项目都基于Go语言开发,这进一步推动了Go语言在云计算和容器化领域的生态发展。

小结

Go语言以其简洁的语法、强大的并发支持、高效的编译速度和丰富的生态系统,在现代软件开发中占据了重要地位。它特别适合网络编程、微服务架构、分布式系统和命令行工具的开发。Go语言的设计理念和特性使得它成为一种高效、可靠且易于使用的编程语言,深受开发者和企业的欢迎。

二、安装Go语言主程序

(一)下载

地址:https://go.dev/

该网站将DNS服务器分配手动设为Google的要好用些,其他可能导致无法访问。

image-20250427082736783

正常出现如下页面:

image-20250427083332703

点击图标下面的链接下载最新版本。可以根据需要下载其他版本。

运行安装程序。安装目录是C:\Program Files\Go。

(二)添加环境变量

安装可以自动完成了这一步,在资源管理器中右键单击“我的电脑”,选择“属性”。

点击“环境变量”按钮。

image-20250427091836046

点击“编辑”按钮。

image-20250427092056396

新建一行,添加Go语言命令文件所在路径。
查看一下Go语言程序是否安装正确。打开命令行提示符,输入go后回车。

image-20250427092519775

查看go语言版本。

image-20250427092610152

(三)配置环境

go env -w GO111MODULE=on 
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct

(四)检查环境变量

go env
image-20250427093045462

三、安装Goland

使用Goland开发工具搭建Go语言开发环境的步骤如下:

(一)下载

下载地址:JetBrains GoLand:不只是 Go IDE。注意GoLnad没有免费版本。

(二)安装

执行安装程序。按提示操作即可,选择简体中文语言,将应用程序路径加入环境变量中。

(三)配置

在Windows系统中安装并设置好语言为简体中文的JetBrains GoLand IDE(2025.1版本)后,通常需要进行以下一些必要的配置来优化开发体验。可在使用中逐步完成。

以上步骤完成后,你就可以在Goland中开始高效地进行Go语言的开发工作了。

四、编写第一个程序

(一)启动GoLand并创建新项目

  1. 打开GoLand软件。
  2. 选择 “File”(文件)菜单,然后点击 “New Project”(新建项目)或使用快捷键 Ctrl+Shift+A 并搜索 “New Project”。
  3. 在新建项目向导中,选择 “Go” 并点击 “Next” 按钮。
  4. 配置项目设置:
    • 为项目选择一个合适的保存位置。
    • 设置项目名称,例如 “hello-world”。
image-20250427150633147 image-20250427150910509

go.mod和main.go文件会被自动创建。

(二)主包和主函数

  1. go.mod文件。

    module hello-world
    
    go 1.24
    
    
  2. main.go 文件。

package main

import (
  "fmt"
)

func main() {
  s := "gopher"
  fmt.Printf("Hello and welcome, %s!\n", s)
  for i := 1; i <= 5; i++ {
	fmt.Println("i =", 100/i)
  }
}

(三)运行程序

  1. main.go 文件内任意一行代码上点击右键,选择 “运行go build hello-world’” 或按下快捷键 Shift+F10(Windows/Linux)或 ^R(macOS)来运行程序。
  2. 这时,你应该会在底部的 “Run” 窗口中看到输出结果。
Hello and welcome, gopher!
i = 100
i = 50
i = 33
i = 25
i = 20

现在,你已经在GoLand中成功创建并运行了你的第一个Go语言程序!

总结起来,如果你主要专注于 Go 开发并寻求一种更加一体化、专业级别的开发体验,GoLand 可能更适合你。而如果你希望一个更为灵活、轻量且可以支持多种语言开发的编辑器,或者预算有限,那么 VSCode 加上相关 Go 扩展将是一个不错的选择。尽管 VSCode 在 Go 支持方面不如 GoLand 那样深入集成,但它通过社区的力量也提供了相当完善的 Go 开发支持。

五、GOLANG常用命令

直接在终端中输入 go help 即可显示所有的 go 命令以及相应命令功能简介。

PS D:\> go help
Go is a tool for managing Go source code.

Usage:

        go <command> [arguments]

The commands are:

        bug         start a bug report
        build       compile packages and dependencies
        clean       remove object files and cached files
        doc         show documentation for package or symbol
        env         print Go environment information
        fix         update packages to use new APIs
        fmt         gofmt (reformat) package sources
        generate    generate Go files by processing source
        get         add dependencies to current module and install them
        install     compile and install packages and dependencies
        list        list packages or modules
        mod         module maintenance
        work        workspace maintenance
        run         compile and run Go program
        telemetry   manage telemetry data and settings
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         report likely mistakes in packages

Use "go help <command>" for more information about a command.

Additional help topics:

        buildconstraint build constraints
        buildjson       build -json encoding
        buildmode       build modes
        c               calling between Go and C
        cache           build and test caching
        environment     environment variables
        filetype        file types
        goauth          GOAUTH environment variable
        go.mod          the go.mod file
        gopath          GOPATH environment variable
        goproxy         module proxy protocol
        importpath      import path syntax
        modules         modules, module versions, and more
        module-auth     module authentication using go.sum
        packages        package lists and patterns
        private         configuration for downloading non-public code
        testflag        testing flags
        testfunc        testing functions
        vcs             controlling version control with GOVCS

Use "go help <topic>" for more information about that topic.

下面做一个对照翻译:

PS D:\> go help  
Go is a tool for managing Go source code.  
Go 是一个用于管理 Go 源代码的工具。  

Usage:  
Usage:  

        go <command> [arguments]  
        go <command> [arguments]  

The commands are:  
命令如下:  

        bug         start a bug report  
        bug         开始一个错误报告  

        build       compile packages and dependencies  
        build       编译包及其依赖项  

        clean       remove object files and cached files  
        clean       删除目标文件和缓存文件  

        doc         show documentation for package or symbol  
        doc         显示包或符号的文档  

        env         print Go environment information  
        env         打印 Go 环境信息  

        fix         update packages to use new APIs  
        fix         更新包以使用新的 API  

        fmt         gofmt (reformat) package sources  
        fmt         gofmt(重新格式化)包源代码  

        generate    generate Go files by processing source  
        generate    通过处理源代码生成 Go 文件  

        get         add dependencies to current module and install them  
        get         将依赖项添加到当前模块并安装它们  

        install     compile and install packages and dependencies  
        install     编译并安装包及其依赖项  

        list        list packages or modules  
        list        列出包或模块  

        mod         module maintenance  
        mod         模块维护  

        work        workspace maintenance  
        work        工作区维护  

        run         compile and run Go program  
        run         编译并运行 Go 程序  

        telemetry   manage telemetry data and settings  
        telemetry   管理遥测数据和设置  

        test        test packages  
        test        测试包  

        tool        run specified go tool  
        tool        运行指定的 go 工具  

        version     print Go version  
        version     打印 Go 版本  

        vet         report likely mistakes in packages  
        vet         报告包中可能存在的错误  

Use "go help <command>" for more information about a command.  
使用 "go help <command>" 获取有关命令的更多信息。  

Additional help topics:  
其他帮助主题:  

        buildconstraint build constraints  
        buildconstraint 构建约束  

        buildjson       build -json encoding  
        buildjson       构建 -json 编码  

        buildmode       build modes  
        buildmode       构建模式  

        c               calling between Go and C  
        c               Go 和 C 之间的调用  

        cache           build and test caching  
        cache           构建和测试缓存  

        environment     environment variables  
        environment     环境变量  

        filetype        file types  
        filetype        文件类型  

        goauth          GOAUTH environment variable  
        goauth          GOAUTH 环境变量  

        go.mod          the go.mod file  
        go.mod          go.mod 文件  

        gopath          GOPATH environment variable  
        gopath          GOPATH 环境变量  

        goproxy         module proxy protocol  
        goproxy         模块代理协议  

        importpath      import path syntax  
        importpath      导入路径语法  

        modules         modules, module versions, and more  
        modules         模块、模块版本等  

        module-auth     module authentication using go.sum  
        module-auth     使用 go.sum 进行模块认证  

        packages        package lists and patterns  
        packages        包列表和模式  

        private         configuration for downloading non-public code  
        private         下载非公开代码的配置  

        testflag        testing flags  
        testflag        测试标志  

        testfunc        testing functions  
        testfunc        测试函数  

        vcs             controlling version control with GOVCS  
        vcs             使用 GOVCS 控制版本控制  

Use "go help <topic>" for more information about that topic.  
使用 "go help <topic>" 获取有关该主题的更多信息。

六、安装 Lingma 插件

安装Lingma - Alibaba Cloud AI Coding Assistant插件。

搜索到这个插件后,根据文字说明,找到Alibaba插件的下载网址,下载一个zip文件。然后使用本地文件安装。

安装完成后即使用,以此提高编程效率。使用前需要使用阿里云账户登录。

然后用这个插件将自动编程的代码的注释改成中文:

package main

import (
  "fmt"
)

//TIP <p>要运行您的代码,请右键点击代码并选择 <b>运行</b>。</p> <p>或者,
// 点击编辑器边栏中的 <icon src="AllIcons.Actions.Execute"/> 图标并从这里选择 <b>运行</b> 菜单项。</p>

func main() {
  //TIP <p>当光标位于下划线文本时,按下 <shortcut actionId="ShowIntentionActions"/> 查看 GoLand 如何建议修复警告。</p><p>或者,如果可用,点击灯泡查看可能的修复方案。</p>
  s := "gopher"
  fmt.Printf("Hello and welcome, %s!\n", s)

  for i := 1; i <= 5; i++ {
    //TIP <p>要开始调试会话,请在编辑器中右键点击您的代码并选择调试选项。</p> <p>我们已为您设置了一个 <icon src="AllIcons.Debugger.Db_set_breakpoint"/> 断点,
    // 但您始终可以通过按下 <shortcut actionId="ToggleLineBreakpoint"/> 添加更多断点。</p>
    fmt.Println("i =", 100/i)
  }
}

//TIP 是特定注释语法。

总结

本文详细介绍了在Windows系统上使用GoLand搭建Go语言开发环境的完整流程。首先,文章回顾了Go语言的起源、发展及其核心特性,包括简洁语法、强大的并发支持、高效编译速度和丰富的标准库。接着,文章详细阐述了安装Go语言主程序的步骤,包括下载、配置环境变量以及设置代理以确保模块正常下载。随后,文章介绍了如何下载并安装GoLand IDE,并进行必要的配置以优化开发体验。通过GoLand创建新项目、编写并运行第一个Go程序的过程也被清晰地展示出来,验证了开发环境的搭建是否成功。此外,文章还提供了Go语言常用命令的对照翻译,并介绍了如何安装Lingma插件以支持中文注释并提高编程效率。最后,文章对比了GoLand与其他开发工具的优缺点,为开发者提供了选择建议。整体而言,本文为初学者提供了一份详尽的Go语言开发环境搭建指南,帮助读者快速上手Go语言开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值