【7天学GO】第1章 开发环境

news2025/1/22 9:22:43

1.1 开篇介绍(必看)

A. Why choose the go language

B. 学语言阶段

1.2 环境搭建前戏

A. 学习一门语言步骤

B. 编译型与解释型

1.3 mac系统Go开发环境搭建 (略)

1.4 linux系统Go开发环境搭建 (略)

1.5 windows系统Go开发环境搭建

A. 开发环境搭建

Stage 1:官网下载

Stage 2:直接安装 (下一步即可)

Stage 3:创建工作目录

Stage 4:环境变量

Stage 5:测试是否成功

B. 运行go代码

三种运行方式

Stage 1:编写 go 文件

Stage 2:运行方式一

Stage 3:运行方式二

Stage 4:运行方式三

平时开发:

1.6 总结: 环境搭建

A.【报错处理】:go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘

问题:

解决办法:

1.7 Goland集成开发环境

A. 开发工具提升开发效率


1.1 开篇介绍(必看)

A. Why choose the go language

  • 集 python简洁 + C语言性能

详情点击

B. 学语言阶段

  • 编程语言
  • 实战经验
  • 源码
  • 并发架构
  • 新语言触类旁通

1.2 环境搭建前戏

A. 学习一门语言步骤

  • 安装 编译器 or 解释器
  • 学习语法 & 编写代码
  • 运行(在不同平台:windows/linux/....)

B. 编译型与解释型

1.3 mac系统Go开发环境搭建 (略)

1.4 linux系统Go开发环境搭建 (略)

1.5 windows系统Go开发环境搭建

A. 开发环境搭建

Stage 1:官网下载

  • golang 官网,点击下载

  • 选择 windows

Stage 2:直接安装 (下一步即可)

  • 安装包 go1.20.6.windows-amd64.msi
  • 如安装到 C:/go

Stage 3:创建工作目录

  • 创建一个任意目录

G:\learncode\GolangProject
         - bin          go install在编译项目时,存放生成的可执行文件
         - pkg         go install在编译项目时,存放生成的包文件
         - src         以后所有的项目都要放在这个目录。项目目录
             - crm    项目1
                 - app.go
            - luffy    项目2
                - xx.go 

Stage 4:环境变量

  • GOROOT:GO编译器安装目录。
  • GOPATH:用于存放项目代码、编译后的可执行文件、编译后的包文件(go 1.11版本后,go mod)。
  • GOBIN:编译后的可执行文件存放的目录。

Stage 5:测试是否成功

  • go --version

B. 运行go代码

三种运行方式

  • go run,运行项目代码,内部会先编译并将编译后的文件放在系统的临时目录,后自动执行

  • go build,运行项目代码,手动编译并生成一个可执行文件,然后再自动执行

  • go install ,生成可执行文件 + 包文件,并且会将编译后的文件放在bin/pkg目录

Stage 1:编写 go 文件 

  • G:\learncode\GolangProject\src\crm\app.go
package main

import "fmt"

func main() {
    fmt.Println("叫爸爸")
}

Stage 2:运行方式一 

  • 进入项目目录 cd G:\learncode\GolangProject\src\crm
  • 运行  go run app.go

Stage 3:运行方式二 

  • 进入项目目录 cd G:\learncode\GolangProject\src\crm
  • 运行  go build ,生成 crm.exe
  • crm.exe 或 双击运行

  •  运行  go build -o xx.exe 是打包重命名 ,生成 xx.exe

Stage 4:运行方式三 

  • 进入项目目录 cd G:\learncode\GolangProject\src\crm
  • 运行  go insatll,在 【G:\learncode\GolangProject\bin 下生成 crm.exe
  • crm.exe 或 双击运行

平时开发

  • 开发可执行文件,用来让用户使用。

  • 开发一个包文件,其他项目来进行调用。

1.6 总结: 环境搭建

A.【报错处理】:go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘

问题:

  • 执行 main.go 报如下错误

解决办法:

在项目目录下打开cmd 窗口,根据需要选择执行下面的命令。

  • 开启 go modules 功能,命令行输入
go env -w GO111MODULE=on
  • 在该项目目录下,初始化 Go moudle,运行下面命令
go mod init
或者
go mod init xxx               // xxx 代表 目录名称

1.7 Goland集成开发环境

A. 开发工具提升开发效率

  • Goland,IDE (集成开发环境)(推荐)
  • VsCode,编辑器 + 第三方组件

Goland 激活码,点击进入


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/768064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Appium+python自动化(十一)- 元素定位- 下卷超详解)

1、 List定位 List故名思义就是一个列表,在python里面也有list这一个说法,如果你不是很理解什么是list,这里暂且理解为一个数组或者说一个集合。首先一个list是一个集合,那么他的个数也就成了不确定性,所以这里需要用复…

和为 K 的子数组——前缀和+哈希

题目链接:力扣 注意:此题不能使用滑动窗口,因为数组中可能会出现负数。也就是说右指针向后移1位不能保证区间会增大,左指针向后移1位也不能保证区间和会减小。给定左右指针的位置没有二段性 已知sum[i]是从nums[0~i]的和&#x…

STM32之按键驱动的使用和自定义(MultiButton)

原始Github地址 Github地址 修改后 调整内容 将宏定义转换成配置结构体 头文件 #ifndef _MULTI_BUTTON_H_ #define _MULTI_BUTTON_H_#include "stdint.h" #include "string.h"//According to your need to modify the constants. //#define TICKS_IN…

数据结构--图的存储邻接表法

数据结构–图的存储邻接表法 邻接矩阵: 数组实现的顺序存储,空间复杂度高,不适合存储稀疏图 邻接表: 顺序链式存储 邻接表法(顺序链式存储) //边/弧 typedef struct ArcNode {int adjvex; //边/弧指向哪个…

MVX-Net Multimodal VoxelNet for 3D Object Detection 论文学习

论文链接:MVX-Net Multimodal VoxelNet for 3D Object Detection 1. 解决了什么问题? 2D 目标检测取得了显著成效,但由于输入模态的本质区别,CNN 无法直接应用在 3D 检测任务。LiDAR 能准确地定位到 3D 空间的物体,基…

根据对象数组的key进行分组

简单版: const arr [{key: aaa,tableName: bbbbb},{key: aaa,tableName: bbbbb},{key: www,tableName: bbbbb},{key: www,tableName: bbbbb},{key: mysql_ytr,tableName: bbbbb} ]// 把arr按key進行分組, 輸出結果是對象,對象裡面用key做鍵…

logback自定义调用以及文件输出

1、logback 首先五大日志等级是不可更改的,我们所定义的日志输出和调用也是用的这五大等级,这个就不多说了,没啥用。 2、效果 调用 String msg "测试日志"; MyLoger.myloger(msg); 输出 2023-07-18 10:55:05 [main] INFO m…

[element-ui] el-select,虚拟滚动(vue-virtual-scroll-list)

一、问题描述 表单中某下拉框,由于数据过多,选择的时候会因为数据量过大导致页面卡顿,于是对于el-select进行二次封装,实现虚拟滚动。 二、实现如下: 看起来是加载了全部数据,实际上只加载了自己设定的1…

单例模式类设计|什么是饿汉模式和懒汉模式

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量干货博客汇总https://blog.csdn.net/yu_cblog/c…

汇编实现1-100累加(ARMv7)

汇编实现1-100累加 代码.text .globl _start _start:mov r0,#0 summationmov r1,#0 autoIncrementbl funadd funadd:cmp r1,#100addccs r0,r1,r0addccs r1,r1,#1mov pc,lr stop:b stop .end运行效果

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型 给本帖投票 56211打赏收藏 分享 转发到动态举报 写回复 性能测试中发现oracle11g数据库每天22点,oralce进程CPU占用率突增>> 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 microsof…

UWB天线设计之一种优化扁平超宽带单极的新方法

文章亮点 一种新颖的方法提出了扁平超宽带单极天线。 通过应用收缩,可以设计具有相同性能的更小的天线作为平面单极天线。 优化结果表明该方法能够设计非常小的天线。 在这项研究中,提出了一种优化扁平超宽带单极天线的新方法。在该方法中,一般性地描述了天线的形状。这种一…

Http 接口测试框架

目录 前言: 实际效果 框架的下一步 最新框架图(红色部分未完成) 部分代码 你需要做的 前言: 在进行HTTP接口测试时,使用一个可靠的测试框架可以提高测试效率和质量。HTTP接口测试框架是一种用于自动化测试HTTP接…

STM32数字小键盘

基于STM32的数字小键盘 自己的键盘小键盘数字键坏了几个,准备自己用STM32做一个数字键盘。 硬件 找了一些资料,感谢知乎老哥。 原理图 采用的是主控是STM32F103RBT6,上拉1.5K接高速USB。按键采用的是矩阵按键。轴位可以自己选择。还接了一…

OpenCv之图像轮廓

目录 一、图像轮廓定义 二、绘制轮廓 三、计算轮廓面积与周长 一、图像轮廓定义 图像轮廓是具有相同颜色或灰度的连续带你的曲线.轮廓在形状分析和物体的检测和识别中很有用 轮廓的作用: 用于图形分析物体的识别与检测 注意点: 为了检测的准确性,需要先对图像…

AI 救不了好莱坞,16 万演员联合编剧上演史诗级「罢工大戏」

内容一览: 近日,美国演员工会正式加入编剧工会行列,开始举行罢工,由此,被多家媒体称为好莱坞「末日」时刻来临。值得关注的是,本次罢工的原因,除了老生常谈的薪资问题,还有一个重要的…

多用户商城系统Dokan评测优点与缺点(2023)

目录 多用户商城系统Dokan优点 多用户商城系统Dokan缺点 您应该开始使用多供应商市场吗? 多用户商城系统Dokan评论 为什么选择Dokan? 用户界面 用户友好的前端 仪表板和后端 管理员后台 供应商仪表板 第三方兼容性 Dokan 可以卖什么&…

c#调用cpp库,debug时不进入cpp函数

选中c#的项目,右击属性,进入属性页,点击调试,点击打开调试启动配置文件UI,打开启用本机代码调试。

Scrapy和Selenium整合(一文搞定)

文章目录 前言一、开始准备1. 包管理和安装chrome驱动2. 爬虫项目的创建(举个栗子)3. setting.py的配置 二、代码演示1. 主爬虫程序2. 中间件的配置3. 定义item对象4. 定义管道 总结 前言 scrapy和selenium的整合使用 先定个小目标实现万物皆可爬&#…

Loadrunner结合Fiddler实现脚本的录制

Loadrunner一直被业内认为是最好用的性能测试工具,行业大哥大, 但是用过Loadrunner的朋友都知道,工具功能的确牛,但实际使用过程中总会有一些困扰新手的问题,无法录制脚本, 如遇到Loadrunner不支持的IE版本、对Chrome、…