【Go语言】Golang保姆级入门教程 Go初学者介绍chapter1

Golang

开山篇

  1. Golang的学习方向

    区块链研发工程师: 去中心化 虚拟货币 金融

    Go服务器端、游戏软件工程师 : C C++ 处理日志 数据打包 文件系统 数据处理 很厉害 处理大并发

    Golang分布式、云计算软件工程师:盛大云 cdn 京东 消息推送 分布式文件系统

2、Golang的应用领域

  • 区块链应用:区块链也是分布式账本技术 是一种互联网数据库技术 特点是去中心化 公开透明 就是每个人都可以参与数据库记录
  • 后端服务器端的开发:美团后台流量支撑程序(排序 推荐 搜索 负载均衡 cache 容错 按条件分流 统计运行指标) 仙侠道

3、云计算/云服务后台应用

  • 盛大云CDN 调度系统、分发系统、监控系统、短域名服务 Golang的计算能力强

大并发 计算能力

Golang诞生原因

  1. 计算机硬件技术更新快于软件
  2. 软件维护成本高(1.风格不统一 2.计算能力不够 3,处理大并发不够好)
  3. C/C++编译速度慢 内存泄露

Go语言特点

静态编译语言的安全和性能 动态语言开发维护的高效率 Go = C + Python

  1. C中继承理念 包括表达式语法,控制结构,基础数据类型、调用参数传值,指针
  2. 引入包的概念 一个文件都属于一个包
  3. 垃圾回收机制 内存自动回收
  4. 天然并发 语言层面支持并发,实现简单 goroutine, 轻量级线程 可以实现大并发处理,高效利用多核 CPS并发 有效利用多核多CPU 上千上万个并发都可以
  5. 吸收了管道通信机制 channel
  6. 函数可以有多个返回值
  7. 创新:切片slice 动态数组 集合 延迟执行defer

Gotest (MAC环境下)

image-20230724162605627

MAC下面安装GO开发环境

image-20230724165506044

brew install go之后 又重新brew reinstall go

使用go version可以直接看到go 的版本

image-20230724165651024

MAC 安装教程

https://blog.csdn.net/sinat_34626178/article/details/131899430?spm=1001.2014.3001.5502

Golang执行过程

image-20230725193148189

go build -o 文件名称 可以指定文件名称 有错误编译语句会报错

Go 常见开发问题

Go语言的注释 就是常见的C++注释 养成注释的良好编程习惯 代码需要有正确的缩进和空白shift + tab

go.fmt -w main.go 运算符左右加一个空格

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

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

相关文章

汉明距离,两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。

题记: 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 示例 1: 输入:x 1, y 4 输出:2 解释: 1 (0 0 0 1) 4 (0 1 0 0…

spring5源码篇(13)——spring mvc无xml整合tomcat与父子容器的启动

spring-framework 版本:v5.3.19 文章目录 整合步骤实现原理ServletContainerInitializer与WebApplicationInitializer父容器的启动子容器的启动 相关面试题 整合步骤 试想这么一个场景。只用 spring mvc(确切来说是spring-framework)&#x…

PostgreSQL 简洁、使用、正排索引与倒排索引、空间搜索、用户与角色

PostgreSQL使用 PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 9.0 :支持64位windows系统,异步流数据复制、Hot Standby;生产环境主流的版本是PostgreSQL 12 BSD协议 与 GPL协议 …

TypeScript -- 类

文章目录 TypeScript -- 类TS -- 类的概念创建一个简单的ts类继承 public / private / protected-- 公共/私有/受保护的public -- 公共private -- 私有的protected -- 受保护的 其他特性readonly -- 只读属性静态属性 -- static修饰ts的getter /setter抽象类abstract TypeScrip…

【深入理解NAND Flash】 闪存(NAND Flash) 学习指南

依公开知识及经验整理,付费内容,禁止转载。 所在专栏 《深入理解Flash:闪存特性与实践》 1. 我想和你说 漠然回首,从事存储芯片行业已多年,这些年最宝贵的青春都献给了闪存,虽不说如数家珍,但也算专业。 …

Nginx下载、安装与使用

Nginx下载 简介: Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务(邮件服务)。 官网下载地址: https://nginx.org/en/download.html 国内镜像地址: https://mirrors.huawe…

华为云NFS使用API删除大文件目录

最近在使用华为云SFS时,如果一个目录存储文件数超过100W,执行 “rm -rf path”时,存在删不动的情况,可以使用华为云API接口,执行异步删除。 华为官网: 删除文件系统目录_弹性文件服务 SFS_API参考_SFS Tu…

Redis入门

一、Redis的安装 Redis的官方文档介绍了多种安装方式(包括Linux、Windows、MacOs平台上的安装和从源码包安装):Redis安装。这里只介绍源码安装方式。 下载源码包 $ wget https://download.redis.io/redis-stable.tar.gz编译Redis $ tar -xzvf redis-stable.tar.gz …

Linux下进程特性总结:工作目录,环境变量,标准输出转命令行参数,O_CLOEXEC标志作用,读写锁控制进程互斥

进程是运行中的程序,是资源分配的最小单位,其有一些特性对于实际开发很有帮助,本篇博客将进程的相关特性进行梳理总结,包含工作目录,环境变量,标准输出转命令行参数,读写锁控制进程互斥。 目录…

MyBatis学习笔记之缓存

文章目录 一级缓存一级缓存失效 二级缓存二级缓存失效二级缓存相关配置 MyBatis集成EhCache 缓存:cache 缓存的作用:通过减少IO的方式,来提高程序的执行效率 mybatis的缓存:将select语句的查询结果放到缓存(内存&…

Pytorch深度学习-----神经网络的卷积操作

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…

IDEA将本地项目上传到码云

一、创建本地仓库并关联 用IDEA打开项目,在菜单栏点击vcs->create git repository创建本地仓库, 选择当前项目所在的文件夹当作仓库目录。 二、将项目提交本地仓库 项目名右键就会出现“GIT”这个选项->Add->Commit Directory, 先将项目add…

【嵌入式学习笔记】嵌入式基础11——STM32常用轮子(SYSTEM)

1.deley文件夹介绍 1.1.delay文件夹介绍 函数名函数功能OSdelay_osschedlockus级延时时,关闭任务调度(防止打断us级延迟)OSdelay_osschedunlockus级延时时,恢复任务调度OSdelay_ostimedlyus级延时时,恢复任务调度OSSysTick_Handlersystick中断服务函数OSdelay_init初始化延迟…

【学习笔记】关于图像YUV格式分类和排布方式的全学习

这里是尼德兰的喵学习笔记相关文章,欢迎您的访问! 如果文章对您有所帮助,期待您的点赞收藏 让我们一起为芯片前端全栈工程师而努力 目录 前言 YUV格式导图 YUV444 packed planar I444 YV24 semi-planar NV24 NV42 YUV422 packed …

c++静态代码扫描工具clang-tidy详细介绍

clang-tidy 文章目录 clang-tidy1. 什么是clang-tidy2. clang-tidy可以解决什么问题3. 工作原理4. 如何使用clang-tidy4. 总结5. 举例说明: 1. 什么是clang-tidy Clang-Tidy是一个由LLVM项目提供的开源工具,是一个静态分析工具,用于进行静态…

【雕爷学编程】MicroPython动手做(15)——掌控板之AB按键3

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

win10日程怎么同步到安卓手机?电脑日程同步到手机方法

在如今快节奏的生活中,高效地管理时间变得至关重要。而对于那些经常在电脑上安排日程的人来说,将这些重要的事务同步到手机上成为了一个迫切的需求。因为目前国内使用win10系统电脑、安卓手机的用户较多,所以越来越多的职场人士想要知道&…

macos下安装john the ripper并配置zip2john+破解加密zip文件

为了破解加密的zip文件,需要用到john进行爆破密码。 1、首先使用homebrew安装john,可以安装它的增强版john-jumbo: brew install john-jumbo 2、安装后可以使用 john 命令验证: john 3、配置zip2john的环境——.zshrc下,&#x…

HashMap查找

文章目录 1 哈希表的基本概念1.1 两个例子1.2 如何查找1.3 若干术语 2 哈希函数的构造方法2.1 直接定址法2.2 除留余数法 3 处理冲突的方法3.1 开放地址法3.1.1 线性探测法3.1.2 二次探测法3.1.3 伪随机探测法 3.2 链地址法(拉链法)3.2.1 创建步骤3.2.2 …

C#..上位机软件的未来是什么?

C#是一种流行的编程语言,广泛应用于桌面应用程序和上位机软件开发。未来,C#上位机软件将继续不断发展和创新,以满足用户日益增长的需求。以下是我认为C#上位机软件未来可能会涉及的一些方向: 更加智能化:随着人工智能…
最新文章