【go语言入门教程】——1. go语言介绍及安装

news2024/11/17 13:19:41

目 录

      • 1. go 语言简介
      • 2. go 语言安装
        • 2.1 下载安装包
        • 2.2 安装 go
        • 2.3 验证安装结果
      • 3. 使用 VS Code 运行 go 程序

1. go 语言简介

go的产生

go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

go 是从 2007 年末由 Robert Griesemer, Rob Pike, Ken Thompson 主持开发,后来还加入了 Ian Lance Taylor, Russ Cox 等人,并最终于 2009 年 11 月开源,在 2012 年早些时候发布了 Go 1 稳定版本。

go的特点

  • 简洁、快速、安全
  • 并行、有趣、开源
  • 内存管理、数组安全、编译迅速
  • 是一种编译型语言,相当于 c + python 的结合

go的定位及用途

  • 定位

    go语言的定位是应用于服务器的系统编程语言

  • 用途
    (1)服务端开发:如日志处理,文件系统,监控等
    (2)云原生、云平台开发:如docker、k8s等运维生态的开发
    (3)网络编程:如web框架开发
    (4)分布式系统开发
    (5)区块链
    (6)······

2. go 语言安装

go 语言支持 Mac、Windows、Linux 等多个操作系统,安装包下载地址:

  • https://golang.org/dl/
  • https://golang.google.cn/dl/

下面以在 Windows 操作系统下安装 go 为例,进行安装的演示。

2.1 下载安装包

打开安装包的下载地址,选择 Windows 系统下最新版本的 go 安装包进行下载,这里选择下载 .msi 版本(安装版)的。

在这里插入图片描述

这里注意,一定要根据自己的电脑配置选对版本,否则后面会报操作系统不支持当前的 go 版本等问题。

2.2 安装 go

默认安装

双击安装包,开始安装并且遵循安装提示,一路点击 next 会将 go 安装到 C:\Program Files(x86)\Go 目录下,同时 c:\Program Files(x86)\Go\bin 目录也会被添加到你的 Path 环境变量中。

自定义安装

由于有的人会像我一样,不喜欢把什么东西都走默认安装在 c 盘,所以需要进行自定义安装。

这里我修改安装目录到自定义的 D:\GGG\go 目录,然后一路 next,直到完成安装。

由于是自定义安装,所以要配置一下环境变量。

  • 配置 GOPATH 环境变量

在这里插入图片描述

  • 配置模块支持变量

    打开控制台,然后输入下面的命令,开启 go 模块支持(不加的话,有些包会无法引用):

    go env -w GO111MODULE=on

  • 配置代理变量

    继续在控制台输入下面的命令,设置代理(不设置的话,有些依赖无法下载):

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

2.3 验证安装结果

命令验证

按下 win + r 组合键,打开控制台,然后依次输入下面的两个命令:

  • go version
  • go env

出现如下的结果,说明安装成功。

在这里插入图片描述

运行示例验证

在 D:\GGG\go 目录下新建一个文件夹 go_workspace,作为工作空间,然后在里面,新建一个 test.go 文件,写入的内容如下:

package main

import "fmt"

func main(){
	fmt.Println("Hello,World!")
}

将控制台的工作目录,切换到 D:\GGG\go\go_workspace ,接着输入 go run test.go,按下回车,等待编译一小会儿,如果能看到下面的结果,说明一切 OK !

在这里插入图片描述

3. 使用 VS Code 运行 go 程序

用 VS Code 打开前面的 test.go 文件,然后在终端处,执行下面的初始化命令,会生成一个 go.mod 文件

go mod init GO_WORKSPACE

在这里插入图片描述

接着,按下 Ctrl + F5 ,运行 go 程序,结果如下

在这里插入图片描述

注意点:
使用 VS Code 运行 go 程序,需要在 VS Code 中安装 go 的扩展插件!只要前面的代理配置、环境变量配置、模块支持配置都设置好了,根据 VS Code 的提示一路 install 就好,装完重启一下再运行程序。

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

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

相关文章

Linux系统常见问题总结(持续更新)

目录一,vim安装与设置1,安装2,配置二,Found a swap file by the name三,docker启动失败:Job for docker.service failed because the control process exited with error四,docker-compose安装r…

JavaScript基础知识点整理(一)——运算符比较、闭包、深浅拷贝、原型、

内容主要涉及JavaScript:运算符比较、闭包、深浅拷贝、原型。 JavaScript闭包、原型、深浅拷贝1、 和 的差异2、JavaScript闭包3、JavaScript深浅拷贝3.1、浅拷贝3.2、深拷贝4、JavaScript原型1、 和 的差异 对于而言,若对比双方的类型不一样的话&…

MicroBlaze系列教程(2):AXI_INTC的使用

文章目录 @[TOC]AXI_INTC简介常用函数使用示例参考资料工程下载本文是Xilinx MicroBlaze系列教程的第1篇文章。 AXI_INTC简介 AXI_INTC中断控制器用于将多路中断信号按照优先级输出一路给处理器,支持AXI4-Lite总线,最多支持32个中断输入,中断输入可配置为边沿触发或电平触发…

【vuex】一.vue.js的基本指令;二.vue.js全家桶开发;三.vuex

目录 一.vue.js的基本指令 1.Vue的作用:快速的构建前端页面(封装了html、css、js),以工程化的方式进行前端的开发 2.Vue的核心: (1)组件化: (2)数据的双…

shell执行脚本的方法及环境变量

执行脚本的方法 (1)bash ./filename.sh(产生子进程,再运行,使用当前指定的bash shell去运行) (2)./filename.sh(产生子进程,再运行,使用脚本里面指…

vue3 手撕日历控件

vue制作日历控件 效果如下&#xff1a; <template><div class"cal_con" style"margin-left:200px"><div class"cal_header"><!-- 顶部左侧 --><div class"cal_header_left"><div class"cal_he…

STL分析(十 hash、function type_traits、cout、move )

hash function 假定存在一个Customer类 class Customer{ public:string fname, lname;int no; };其哈希函数存在三种方式 //方式一&#xff1a;创建可调用类型 class CustomerHash { public:std::size_t operator()(const Customer& c) const{return ......} };unordere…

Android 签名基础知识

目录Android 为什么要签名keystore的生成&#xff1a;keystore信息的查看参数说明&#xff1a;Android 怎么签名使用 jarsigner 签名如何查找 jdk 位置签名时遇到的问题查看 apk 是否签名查看 Apk 的MD5值以及MD5不显示时的解决办法缺少 xx.RSA 文件的原因V1 vs V2Android 为什…

Coolify系列-解决局域网主机突然连不了虚拟机

开始之前&#xff0c;我们需要确保配置一切正常&#xff0c;原始配置参考下文 Coolify系列-手把手教学解决局域网局域网中的其他主机访问虚拟机以及docker服务 如果是之前已经配置好的&#xff0c;突然无法访问了&#xff0c;采取以下方式进行排查操作 在虚拟机执行 ifconf…

【GD32F427开发板试用】基于蓝牙的远程步进电机控制

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;寒冰1988 一、前言 接上篇文章【GD32F427开发板试用】基于蓝牙模块的远程点灯演示&#xff0c;本篇是第二篇&#xff0c;基于调通的蓝牙模块添…

Pytest-Allure测试报告

Allure 模块下载 pip install allure-pytest包下载 https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/此处我选择下载最新的&#xff0c;版本上可以选择不是最新的&#xff0c;2.9.0的。下载zip或者tgz后缀格式的都可以。 配置环境变量 找到解压…

RPA自动办公01——Uibot的安装和基础用法

本期开始RPA的学习流程。 RPA是机器人自动化流程的简写&#xff0c;目的在于减少重复性的劳动&#xff0c;而且上手很简单&#xff0c;无需编程就能用。 本系列使用Uibot 软件&#xff0c;其下载地址在&#xff1a;来也科技流程创造者&#xff08;UiBot Creator&#xff09; …

searchableSelect 插件使用

<script type"text/javascript" src"//searchableSelect.js"></script> <script>function getUserServer() {var _this 自定义封装接口请求、弹窗等方法;_this.getAjax("get","//xxxxx/server", {}, function(res)…

前端异常监控平台Sentry安装配置使用及问题

前言&#xff1a;Sentry是一款开源的异常监控平台,支持各种语言的SDK&#xff0c;通过对应SDK可以收集错误信息和性能数据&#xff0c;并可以再后台web页面中查看相关信息。官方地址&#xff1a;安装说明&#xff1a;https://develop.sentry.dev/self-hosted/后台使用说明&…

1.1计算机组成结构:CPU组成、冯·诺依曼结构与哈佛结构、嵌入式芯片术语

1.1计算机组成结构&#xff1a;CPU组成、冯诺依曼结构与哈佛结构、嵌入式芯片术语计算机组成结构CPU组成运算器控制器冯诺依曼结构与哈佛结构冯诺依曼结构哈佛结构嵌入式——芯片术语计算机组成结构 CPU组成 CPU分成两个部分&#xff0c;包括运算器和控制器。 CPU是计算机中核…

Linux之环境搭建

目录 一、VMware 二、centos7的安装 三、Mysql安装 四、 前端项目部署 1.确保前台项目能用 2.将前台项目打包npm run build 3.做ip/host主机映射 4.完成Nginx动静分离的default.conf的相关配置 5.将前端构件号的dist项目&#xff0c;上传到云服务器/usr/local/... …

[Swift]SDK开发

本文主要介绍使用swift语言制作framework Demo:https://github.com/Gamin-fzym/CMSDK 一、创建工程 1.创建目录 这里我创建了一个“CMSDK”目录 2.打开Xcode新建workspace放入CMSDK目录 这里命名为“CMSDK” 3.打开CMSDK.xcworkspace新建SDK工程放入CMSDK目录 这里还是命…

06 CSS-盒子模型【尚硅谷JavaWeb教程】

06 CSS-盒子模型【尚硅谷JavaWeb教程】 JAVAWEB的学习笔记 学习视频来自&#xff1a;https://www.bilibili.com/video/BV1AS4y177xJ/?vd_source75dce036dc8244310435eaf03de4e330 不同的浏览器导致前端展示页面不一样&#xff0c;盒子的大小的不同。&#xff08;所以前端要考虑…

奇迹mu开服教程

奇迹mu开服教程&#xff1a;开服服务端的架设及开服注意事项服务器推荐奇迹开服需要准备什么&#xff1f;开服大概成本分析奇迹MU商业服务端版本&#xff1a;1.02W、1.03H、1.03K、S6EP3、S7EP2、S9EP2&#xff1b;HE网站系统&#xff1a;绑定域名授权&#xff0c;功能可定制&a…

Jenkins部署项目一(物理机器部署SpringBoot项目)

一、Jenkins部署SpringBoot项目 设备&#xff1a;MacOS 准备工作 1.已安装java开发工具包JDK 2.已安装依赖管理工具Maven 3.已安装代码版本控制工具Git 4.已安装Jenkins learn-moon代码地址&#xff1a;https://github.com/BillDavidup/learn-moon SSH: gitgithub.com:Bil…