Golang入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

文章目录

  • 一、golang 简介
    • 1. go 语言特点
    • 2. go 语言应用领域
    • 3. 使用 go 语言的公司有哪些
  • 二、安装 golang
    • 1. golang 下载安装
    • 2. 配置环境变量
  • 三、golang 开发工具
    • 1. 安装 VSCode
    • 2. 下载所需插件
  • 四、第一个 golang 应用
    • 1. main 包的含义
    • 2. 示例

一、golang 简介

在这里插入图片描述

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

  • Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
    中文网在线标准库文档

1. go 语言特点

  • 天生支持并发
  • 语法简单,容易上手
  • 内置runtime,支持垃圾回收
  • 可直接编译成机器码,不依赖其他库
  • 丰富的便准库
  • 可跨平台编译
  • 部署维护成本低

2. go 语言应用领域

  • 服务器编程
  • 开发云平台
  • 区块链
  • 分布式系统
  • 网络编程

3. 使用 go 语言的公司有哪些

  • Google
    k8s

  • Facebook
    facebookgo

  • 腾讯
    蓝鲸平台
    容器技术

  • 百度
    运维项目BFE

  • 京东
    消息推送系统、云存储、京东商城

  • 小米
    运维监控系统、小米互娱、小米商城、小米视频、小米生态链

  • 360
    日志搜索系统Poseidon

二、安装 golang

下载开发包及工具,提取码:ad1z

1. golang 下载安装

在这里插入图片描述
在这里插入图片描述

2. 配置环境变量

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用cmd查看配置是否成功
在这里插入图片描述

三、golang 开发工具

1. 安装 VSCode

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

使用vscode打开创建的项目文件并选择信任

在这里插入图片描述

2. 下载所需插件

下载go扩展插件
在这里插入图片描述

下载Code Runner插件
在这里插入图片描述

安装常用工具包
在这里插入图片描述

可以看到这里会下载失败,因为是外网的资源,所以需要进行配置

在这里插入图片描述

添加代理地址

配置 GOPROXY 环境变量
GOPROXY = "https://proxy.golang.com.cn,direct"

在这里插入图片描述

关闭module功能

GO111MODULE=off
无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、第一个 golang 应用

//主包,可执行文件所在包
package main

//导入包
import "fmt"

//主函数,入口函数
func main() {
	//打印输出
	fmt.Println("hello go")
}

//输出结果
hello go

1. main 包的含义

  • 在 Go 语言里,命名为 main 的包具有特殊的含义。Go 语言的编译程序会试图把这种名字的包编译为二进制可执行文件。
  • 所有用 Go 语言编译的可执行程序都必须有一个名叫 main 的包
  • 一个可执行程序有且仅有一个 main
  • 当编译器发现某个包的名字为 main 时,它一定也会发现名为 main() 的函数,否则不会创建可执行文件
  • main() 函数是程序的入口,所以,如果没有这个函数,程序就没有办法开始执行
  • 程序编译时,会使用声明 main 包的代码所在的目录的目录名作为二进制可执行文件的文件名

2. 示例

在这里插入图片描述
在这里插入图片描述
题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;

  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

    一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp开发微信小程序:用户手机号授权获取全流程详解与实战示例

随着多端小程序研发工具的日益普及,诸如uniapp、Taro、Flutter等跨平台解决方案使得开发者能够高效地构建同时适配多个主流小程序平台(如微信、支付宝、百度、字节跳动等)的应用。尽管各平台间存在一定的差异性,但在获取用户手机号…

批量插入10w数据方法对比

环境准备(mysql5.7) CREATE TABLE user (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 唯一id,user_id bigint(10) DEFAULT NULL COMMENT 用户id-uuid,user_name varchar(100) NOT NULL COMMENT 用户名,user_age bigint(10) DEFAULT NULL COMMENT 用户年龄,create_time time…

【Linux】应用层协议序列化和反序列化

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:C【智能指针】 前言 在正式代码开始前,会有一些前提知识引入 目录 👉🏻序列…

人造石墨电极下游应用集中在钢铁冶炼领域 行业市场份额集中在少数企业

人造石墨电极下游应用集中在钢铁冶炼领域 行业市场份额集中在少数企业 人造石墨电极是以石油焦、针状焦为主要原材料,煤沥青为粘结剂,经过煅烧、粉碎磨粉、配料混捏、挤压成形、焙烧、沥青浸渍、石墨化、机械加工等一系列工序生产出来的一种耐高温石墨质…

第47篇:简易处理器<一>

Q:本期我们开始介绍一种数字系统----简易处理器,可以执行由指令指定的各种操作。 A:简易处理器包含多个9位寄存器、一个数据选择器、一个加/减法器单元和一个控制单元(有限状态机)。 数据选择器:可以将输入数据加载到各种寄存器&…

Linux(磁盘管理与文件系统)

目录 1. 磁盘基础 1.1 磁盘结构 1.2 MBR 1.3 磁盘分区结构 2. 文件系统类型 2.1 XFS文件系统 2.2 SWAP 2.3 fdisk命令 2.4 创建新硬盘 3.创建文件系统 3.1 mkfs 3.2 挂载、卸载文件系统 3.3 查看磁盘使用情况 1. 磁盘基础 1.1 磁盘结构 磁盘的物理结构 盘片:硬…

活动理论的散点图

import pandas as pd import matplotlib.pyplot as plt# 假设您已经有一个名为 data.xlsx 的 Excel 文件 # 您可以使用以下代码读取数据# 读取 Excel 文件 try:data pd.read_excel(data.xlsx) except Exception as e:print(f"Error: {e}")# 假设您的数据包含以下列:…

网络安全事件频发,让态势感知来提前洞察快速防护

一、引言 随着信息技术的飞速发展,网络安全问题日益凸显,成为社会各界普遍关注的焦点。近年来,网络安全事件频发,给个人、企业乃至国家带来了严重的损失。这些事件不仅揭示了网络安全领域的严峻挑战,也敲响了信息安全…

使用Docker,【快速】搭建个人博客【WordPress】

目录 1.安装Mysql,创建(WordPress)用的数据库 1.1.安装 1.2.创建数据库 2.安装Docker 3.安装WodPress(使用Docker) 3.1.创建文件夹 3.2.查看镜像 3.3.获取镜像 3.4.查看我的镜像 3.5.使用下载的镜像&#xf…

SFusion论文速读

SFusion: Self-attention Based N-to-One Multimodal Fusion Block 摘要 人们用不同的感官感知世界,例如视觉、听觉、嗅觉和触觉。处理和融合来自多种模式的信息使人工智能能够更轻松地理解我们周围的世界。然而,当缺少模态时,可用模态的数…

group by 多字段分组查询和 order by

直接看试验步骤就知道了. 表 一.单列group by 执行单列group by语句 SELECT name, COUNT(1) count FROM nomol GROUP BY name 执行结果 我们发现他把原始表分为了两个小组,狗狗小组和猫猫小组。从这可以看出分组查询就是把相同的数据分到一个组 . 二.多列group …

陇剑杯 ios 流量分析 CTF writeup

陇剑杯 ios 流量分析 链接:https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek 提取码:haek目录结构 LearnCTF ├───LogAnalize │ ├───linux简单日志分析 │ │ linux-log_2.zip │ │ │ ├───misc日志分析 │ │…

在STM32中给固定的地址写入一个值,并通过memory窗口进行查看

首先对STM32中存储数据的地方有一个了解 一个是FLASH,一个是RAM RAM是易失存储器,FLASH是非易失存储器,这是最直观的解释。 主要记住以下几点: RAM(随机存储器):既可以从中读取数据,也可以写…

乘风破浪,川流入海 —— LLM在阿里妈妈智能文案的应用

1.引言 在现代广告系统中,文案是不可或缺的一部分,几乎参与了广告素材的各个地方。随着NLP技术的极速发展,广告主逐渐学会并习惯使用文案生成工具直接或者间接的参与到广告的制作中,这为NLP技术在广告场景的应用提供了巨大的潜力和…

网络基础-基于TCP协议的Socket通讯

一、Socket通讯基于TCP协议流程图 UDP 的 Socket 编程相对简单些不在介绍。 二、 服务端程序启动 服务端程序要先跑起来,然后等待客户端的连接和数据。 服务端程序首先调用 socket() 函数,创建网络协议为 IPv4,以及传输协议为 TCP 的…

LearnOpenGl练习题-着色器

LearnOpenGl练习题-着色器 题目地址:着色器 - LearnOpenGL CN 题目一:修改顶点着色器让三角形上下颠倒: #version 330 core layout (location 0) in vec3 aPos; layout (location 1) in vec3 aColor; out vec3 ourColor; void main() {gl…

Swift Publisher 5 for mac:打造精美版面

Swift Publisher 5 for mac:打造精美版面 Swift Publisher 5是一款专业的版面设计和编辑工具,为Mac用户提供了强大的设计功能和直观的操作界面。以下是关于Swift Publisher 5的功能介绍: 直观易用的界面:用户能够轻松地使用Swift …

《人工智能》文档715篇,文档非常详细,云盘下载

人工智能未来的前景十分广阔,随着技术的不断发展,越来越多的人工智能应用将会出现在我们的生活中,在以下方面有着广泛的应用:《人工智能》文档715篇,文档非常详细,值得收藏 下载地址: 链接&…

浅析LED节能原理

随着全球对节能环保意识的增强,LED显示屏行业也在积极探索更加节能的生产和使用方式。作为显示屏制造厂家,了解和应用LED节能原理不仅是市场的需求,也是企业履行社会责任的表现。本文将浅析LED节能原理及其在显示屏制造中的应用。 LED节能的基…

数据库技术基础

根据希赛相关视频课程汇总整理而成,个人笔记,仅供参考。 基本概念 数据库通常是指有组织地、动态地存储在(外存上的相互联系的数据的集合)应用数据库主要目的是解决数据(共享)问题。 三级模式/两级映像&a…