【GO语言卵细胞级别教程】01.GO基础知识

01.GO基础知识

目录

  • 01.GO基础知识
    • 1.GO语言的发展历程
    • 2.发展历程
    • 3.Windowns安装
    • 4.VSCode配置
    • 5.基础语法
      • 5.1 第一段代码
      • 5.2 GO执行的流程
      • 5.3 语法规则
      • 5.4 代码风格
      • 5.5 学习网址

1.GO语言的发展历程

Go语言是谷歌公司于2007年开始开发的一种编程语言,由Robert Griesemer、Rob Pike和Ken Thompson共同设计。具有高效、简洁、安全和并发的特点,适用于网络编程、分布式系统等领域。
Go语言的设计目标是提供一种简单、高效、可靠的编程语言,适用于大规模分布式系统开发。

2.发展历程

2007年:Go语言的设计开始。

2009年:Go语言的第一个版本发布,同时开源。

2012年:Go语言的第一个稳定版本发布。

2016年:Go语言成为GitHub上最受欢迎的编程语言之一。

2020年:Go语言的最新版本Go 1.15发布。

在中国,Go语言的发展也非常迅速。自从Go语言开源以来,国内就有不少开发者开始关注和使用它。随着互联网的发展,越来越多的公司开始使用Go语言开发后端服务,如腾讯、阿里巴巴、美团等。

同时,国内也有不少Go语言社区和开源项目,如Go中国、GoFrame、Gin等。总体来说,Go语言在中国的发展非常活跃,越来越多的开发者开始学习和使用它,未来也有很大的发展潜力。

3.Windowns安装

  1. 下载
    安装包下载地址为:https://go.dev/dl/。
    如果打不开可以使用这个地址:https://golang.google.cn/dl/。
  2. 设置环境变量
    GOROOT 是 Go 语言的安装目录,它指向你的 Go 语言安装的根目录。
    GOPATH 是你的工作区目录,用于存放 Go 语言的源码文件以及安装的第三方包。
  3. 常见错误
    在这里插入图片描述

4.VSCode配置

  1. 下载GO插件
    在这里插入图片描述

  2. 集成 Code Runner插件
    在这里插入图片描述

  3. 单机右键Run code 运行即可
    在这里插入图片描述

  4. vscode 去掉目录折叠
    setting->User->Features->Explorer:去掉Compact Folders在这里插入图片描述

5.基础语法

5.1 第一段代码

  1. 创建代码文件main.go
package main
import "fmt"
func main(){
    fmt.Println("hello go!")
}
  1. 执行的时候
    (1)先编译:go build --生成了一个 main.exe
    (2)然后执行main即可,main会运行main.exe
  2. 执行也可以使用
    (1)go run main.go会直接帮我们编译执行源文件

5.2 GO执行的流程

在这里插入图片描述

两种执行方法有什么区别?
(1)go build 编译后的文件可以在任意平台上执行
(2)go build -o hello.exe main.go 把main.go 编译成hello.exe
(3)go run运行的时间明显要比第一种方式长一点点

5.3 语法规则

(1)源文件以go为扩展名
(2)程序执行的入口是main函数
(3)严格区分大小写
(4)方法由一条条语句构成的,每一条语句不需要分号(go会自动给加)这也是设计的初衷简洁
(5)Go编译器是一行行进行编译的,因此我们就一行就写一条语句,不能把多余的语句写在同一个,否则报错
(6)定义的变量或者import 的包如果没有使用到,代码就不能通过编译
(7)大括号都是成对出现

5.4 代码风格

(1)注意缩进
(2)括号要成对
(3)运算符两边加空白
(4)注释:推荐行注释

/*
多行注释
*/

// 行注释

(5)不能把大括号改变格式

func main()
{// 这里不能换行
 // 这样的大括号是有问题的 
}

(6)一行不超过80个字符,超过的话使用加号

var name3 = "sadfasldfjkajsdfjalsdfasdkfjalksjdf" +
    "测试中故宫撒旦发多少发就发司法解释咖啡机阿克苏的风景"
     

(7)格式化代码

gofmt main.go 打印出正确的格式
gofmt -w main.go 把纠正的格式放在文件中

5.5 学习网址

  1. 手册:官网接口手册:https://golang.org
  2. 手册:中文手册 https://studygolang.com/pkgdoc
  3. 学习网址:包含教学面试各种框架插件等: https://www.topgoer.com/
  4. 学习网址(推荐):GO编程练习的网址,每节都有示例且可以在线运行: https://tour.go-zh.org/basics/1
  5. 学习网址:GO编程练习的网址,每节都有示例代码:英文的:https://gobyexample.com/

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

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

相关文章

PTA——逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。 输入格式: 每个测试是一个3位的正整数。 输出格式: 输出按位逆序…

洛谷P1024[NOIP2001 提高组] 一元三次方程求解(cpp)(二分查找)

目录 1.题目 2.思路 3.AC 1.题目 # [NOIP2001 提高组] 一元三次方程求解 ## 题目描述 有形如: 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在 -…

【每日论文阅读】单目深度估计 近期进展

红外场景单目深度估计的难点 缺乏准确的深度参考标准:红外场景下的深度估计通常需要依赖于大量的输入图像和对应的深度值作为训练的约束。然而,获取准确的深度参考标准是一个挑战,目前常用的方法是使用红外传感器(如Kinect&#…

熔断、隔离、重试、降级、超时、限流,高可用架构流量治理核心策略全掌握

可用性的定义 在探讨高可用架构之前,让我们以 O2 系统为例,解释一下何谓可用性。O2 是腾讯内部的一个广告投放系统,专注于提升投放效率、分析广告效果,拥有自动化广告投放、AIGC 自动化素材生产等多种功能。 其整体架构概览如下&…

prometheus grafana redis安装配置监控

文章目录 前传安装redis-exporterredis_exporter参数配置参考配置prometheus查看promethues redis job节点grafana配置外传 前传 prometheus grafana的安装使用:https://nanxiang.blog.csdn.net/article/details/135384541 本文说下监控nginx,promethe…

T40N 君正智能处理器T40 BGA 芯片

T40N是一款智能视频应用处理器,适用于移动摄像机、安防等视频设备调查、视频聊天、视频分析等。该SoC引入了一种创新的体系结构满足高性能计算和高质量图像和视频编码的要求通过视频设备解决。T40N提供高速CPU计算能力,出色的图像信号过程中,…

Linux第5步_测试虚拟机网络连接

安装好VMwareTools后,就可以测试虚拟机网络连接了,目的是实现虚拟机上网。 1、打开“控制面板”,得到下图: 2、双击“网络和 Internet” ,得到下图: 3、双击“网络和共享中心” 4、点击“更改适配器设置”…

云消息队列 Kafka 版生态谈第一期:无代码转储能力介绍

作者:娜米 云消息队列 Kafka 版为什么需要做无代码转储 云消息队列 Kafka 版本身是一个分布式流处理平台,具有高吞吐量、低延迟和可扩展性等特性。它被广泛应用于实时数据处理和流式数据传输的场景。然而,为了将云消息队列 Kafka 版与其他数…

UG/NX许可证使用效率提升新技术

UG/NX许可证使用效率提升新技术 UG(Unigraphics NX)是Siemens PLM Software公司出品的一个产品工程解决方案,它为用户的产品设计及加工过程提供了数字化造型和验证手段。近年来随着国家对知识产品保护的不断加强,以前使用盗版软件…

protobuf使用

Protocol Buffer是google于2008推出的一种数据交换的格式,它独立于语言,独立于平台。 google 提供了多种语言的实现,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 和 json 进行数据交换快…

Excel技巧之【如何修改密码】

我们知道,Excel可以设置多种密码来保护文件,那想要修改密码,要如何操作呢?下面小编来分享一下Excel常用的3种密码的修改方法,一起来看看吧! 1. “打开密码” 想要修改Excel表格的“打开密码”&#xff0c…

网络安全|2024年需要重点关注的10种DNS攻击类型

目前,针对域名系统(DNS)的攻击已经成为企业组织数字化发展中的一个严重问题,每年都有数千个网站成为此类攻击的受害者。据最近的研究数据显示,2023年企业组织与DNS攻击相关的损失同比增加了49%,这些损失不仅…

行业模型与场景落地新样本,网易有道发布多款“子曰”教育大模型落地应用与产品

距离2023年7月正式发布教育大模型“子曰”不到半年时间,教育科技公司网易有道近日再次分享了“子曰”教育大模型创新和落地成果,宣布推出国内首个教育大模型“子曰”2.0版本,同时还发布了基于大模型研发的三大创新应用——AI家庭教师“小P老师…

苗情生态自动监测系统-科普知识

随着科技的飞速发展,智能化技术在各个领域的应用越来越广泛。在农业领域,苗情生态自动监测系统的出现,为农业生产带来了革命性的变革。它不仅能够实时监测植物的生长状况,还能对环境因素进行全面监控,为农业生产提供科…

SSL证书多少钱一年

SSL证书的价格跟证书的种类,品牌都有很大关系。有些厂商是可以提供免费的SSL证书的,但是大部分证书仍然是收费项目。 永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL 1. 单域名SSL证书: - 功能: 适用于保护单…

Apollo开放平台概览 :自动驾驶的未来趋势

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 粉丝福利活动 ✅参与方式:通过连接报名观看课程,即可免费获取精美周边 ⛳️活动链接&#xf…

APP上线前需要通过哪些测试?如何获取专业的APP测试报告

互联网信息时代,人们最离不开的就是手机,而手机里面吸引我们的也就是APP软件里各式各样好玩的。但一款APP要想在竞争激烈的市场上留存下来,上线前的软件测试就必不可少,那么APP上线前需要通过哪些测试呢?又该如何获取专业的APP测…

RFID数据中心智能资产管理系统

数据中心机房承担着保障企业关键数据处理的重要责任,机房的日常管理直接关系到整体机房的日常维护和运行安全,数据资产管理中心在监管机房各部分设备的运行情况、维护数据中心的资产方面发挥着重要的作用。 成功的数据中心机房管理不仅需要选择高可靠性…

【zk源码分析】

zk作为java分布式系统注册中心和配置中心的典范,一直在思考分析这么一个系统到底从哪里入手呢? zk在使用上是非常的简单,监听节点的变化即可。 一般是从哪里使用,就从哪里开始研究api。 客户端和zk断开时,我看到了一…

Spark内核解析-数据存储5(六)

1、Spark的数据存储 Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互关系。 1.1存储子系统概览 …