当前位置: 首页 > news >正文

1、做中学 | 一年级上期 Golang简介和安装环境

一、什么是golang

Golang,通常简称 Go,是由 Google 公司的 Robert Griesemer、Rob Pike 和 Ken Thompson 于 2007 年创建的一种开源编程语言,并在 2009 年正式对外公布。

已经有了很多编程语言,为什么还要创建一种新的编程语言???

  1. CPU多核处理:计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。
  2. 简洁高效:软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。【现有的编程语言:1.风格不统一 2.计算能力不够 3.处理大并发不够好】
  3. 快速安全:企业运行维护很多c/c++的项目,c/c++程序运行速度虽然很快,但是编译速度确很慢,同时还存在内存泄漏的一系列的困扰需要解决。

随着时代的进步,需要一个性能更快,更安全的编程语言,最好是风格能统一一下!这时,golang来到了我们的身边,你好:“golang”!!!

二、golang可以干些什么呢?

身边的golang,拍着胸脯说:只要是性能要求比较高的,他都可以胜任!,比如:天天抱着玩的游戏、守着时间卡点的秒杀系统、云计算/云服务、区块链、分布式服务端等!

  1. 游戏开发
    后端服务:Go语言可以用于游戏服务器的开发,处理游戏中的逻辑、数据存储和玩家请求等。其高并发特性使得游戏服务器能够同时处理大量玩家的请求,保证游戏的流畅运行。
    游戏工具:开发游戏相关的工具,如游戏资源管理工具、数据生成器等,提高游戏开发的效率。
  2. 秒杀系统
    高并发处理:在电商等平台的秒杀活动中,需要处理大量的并发请求。Go语言通过其高效的并发模型,能够快速响应并处理这些请求,确保系统的稳定性和可用性。
    性能优化:Go语言的高性能使得秒杀系统能够在短时间内处理大量订单,减少用户等待时间,提高用户体验。
  3. 云计算/云服务
    资源管理:Go语言可以用于开发云计算平台的资源管理工具,如虚拟机管理、存储管理等。它能够高效地调度和分配资源,提高资源利用率。
    微服务架构:Go语言适合构建云计算中的微服务架构,每个微服务可以独立运行和扩展,提高系统的灵活性和可维护性。
  4. 区块链
    分布式账本:Go语言在区块链的底层开发中应用广泛,用于构建分布式账本,实现数据的安全存储和共享。
    智能合约:虽然智能合约通常使用其他语言编写,但Go语言也可以用于开发区块链平台的后端服务,支持智能合约的执行和管理。
  5. 分布式服务端
    高可用系统:Go语言可以用于构建高可用的分布式系统,通过多个节点的协同工作,提高系统的可靠性和容错性。
    负载均衡:在分布式系统中,Go语言可以实现负载均衡功能,将请求合理分配到不同的服务器上,避免单点过载。

了解了golang,明确了方向,接下来就是“做中学”了! 杨帆,起航…

三、golang下载

本次学习为“Windows”环境,golang版本为:go1.21.5 windows/amd64

下载地址为:
https://golang.google.cn/dl/
https://go.dev/dl/

根据自己的系统进行选择安装包
在这里插入图片描述

下载安装包,进行默认安装就行,安装好后,进行版本验证

在这里插入图片描述

如果出现go不是内部命令,说明没有环境变量,在环境变量“path”里加一下go安装的bin路径就可以
在这里插入图片描述

四、开发工具

本次学习使用goland开发工具进行开发

下载地址:https://www.jetbrains.com/go/download/?section=windows
根据个人电脑系统进行选择下载开发工具包
在这里插入图片描述

本次作业

  1. 了解golang语言,诞生的初衷,解决的问题。
  2. 安装golang环境
  3. 安装golang开发工具

相关文章:

  • 基于Android的打印系统的设计与实现
  • PHP vs Python (Flask/Django) vs Java (SpringBoot) vs Vue:2024全栈技术终极对决
  • 最大公约数
  • UML建模
  • Ubuntu 20.04离线安装Nvidia-docker
  • 2025年全国技术贸易创新实践案例:AI编辑助手平台助力“一带一路”数字媒体产业高质量发展
  • MySQL-多表查询深度解析与实战指南
  • 如何计算股票复权因子与复权行情
  • iOS端网页调试 debug proxy策略:项目中的工具协同实践
  • 2025年渗透测试面试题总结-渗透测试工程师(题目+回答)
  • 正态分布:AI大模型中的概率统计基石
  • [特殊字符] NarratoAI:AI驱动的短剧解说视频自动化生成工具整合包
  • ChromaDB深度技术研究报告
  • 分治算法之归并排序
  • MybatisPlus深入学习
  • Ubuntu 降低待机功耗
  • EPLAN P8 2.9 如何使用.step格式3D文件绘制3D安装布局图
  • 3D制作与数字媒体领域的技术突破
  • powershell 获取 用户及进程列表
  • C++map和set类(简介)
  • 西安网站建设排行榜/sem工资
  • 旅社网站建设/seo是什么?
  • net程序员网站开发工程师/列举五种网络营销模式
  • 山东爱易网站建设工作室/软文代写价格
  • 做物流网站模块/今日新闻7月1日
  • 武汉高端网站定制/百度账号官网