【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安装
- 下载
安装包下载地址为:https://go.dev/dl/。
如果打不开可以使用这个地址:https://golang.google.cn/dl/。 - 设置环境变量
GOROOT 是 Go 语言的安装目录,它指向你的 Go 语言安装的根目录。
GOPATH 是你的工作区目录,用于存放 Go 语言的源码文件以及安装的第三方包。 - 常见错误
4.VSCode配置
-
下载GO插件
-
集成 Code Runner插件
-
单机右键Run code 运行即可
-
vscode 去掉目录折叠
setting->User->Features->Explorer:去掉Compact Folders
5.基础语法
5.1 第一段代码
- 创建代码文件main.go
package main
import "fmt"
func main(){fmt.Println("hello go!")
}
- 执行的时候
(1)先编译:go build --生成了一个 main.exe
(2)然后执行main即可,main会运行main.exe - 执行也可以使用
(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 学习网址
- 手册:官网接口手册:https://golang.org
- 手册:中文手册 https://studygolang.com/pkgdoc
- 学习网址:包含教学面试各种框架插件等: https://www.topgoer.com/
- 学习网址(推荐):GO编程练习的网址,每节都有示例且可以在线运行: https://tour.go-zh.org/basics/1
- 学习网址:GO编程练习的网址,每节都有示例代码:英文的:https://gobyexample.com/
相关文章:
【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 Griese…...
215.【2023年华为OD机试真题(C卷)】按身高和体重排排队(排序题-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-按身高和体重排排队二.解题思路三.题解代码Pyt…...
虚函数(C++)
四、多态4.1 虚函数 四、多态 多态性是面向对象程序设计语言的又一重要特征,多态(polymorphism)通俗的讲,就是用一个相同的名字定义许多不同的函数,这些函数可以针对不同数据类型实现相同或类似的功能,即所…...
力扣25题: K 个一组翻转链表
【题目链接】力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台,解题代码如下: class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode curNode head;ListNode groupHead, groupTail head, lastGrou…...
网络安全应急响应工具之-流量安全取证NetworkMiner
在前面的一些文章中,用了很多的章节介绍流量分析和捕获工具wireshark。Wireshark是一款通用的网络协议分析工具,非常强大,关于wireshark的更多介绍,请关注专栏,wireshark从入门到精通。本文将介绍一个专注于网络流量取…...
http 401 错误
HTTP 401 错误表示未被授权,指客户端通过请求头中的身份验证数据进行身份验证,服务器返回401状态码表示身份验证失败。HTTP 401 错误通常与身份验证和授权相关的 Web 请求有关。 一、HTTP 401错误的定义 HTTP 401 错误是 HTTP 状态码的一种。由于服务器…...
Docker-Compose部署Redis(v7.2)哨兵模式
文章目录 一、前提准备1. 主从集群2. 文件夹结构 二、配置文件1. redis server配置文件2. redis sentinel配置文件3. docker compose文件 三、运行四、测试 环境 docker desktop for windows 4.23.0redis 7.2 一、前提准备 1. 主从集群 首先需要有一个redis主从集群&#x…...
解决问题:PPT中插入视频编辑模式可以播放,幻灯片放映后播放不了
目录 一、原因分析二、解决办法三、其它问题 一、原因分析 这可能是由于PowerPoint的硬件图形加速功能导致的。 二、解决办法 禁用硬件图形加速。 (1)点击《文件》选项卡 (2)点击《选项》 (3)在《高级》…...
使用react+vite开发项目时候,部署上线后刷新页面无法访问解决办法
说一下我这边的环境和使用的路由模式:vitereactBrowserRouter路由模式,所以如果你和我一样的话,可以试试我的这种解决办法,我是将项目打包后直接丢到服务器上的目录里面,然后配置nginx直接访问根目录。 我的nginx配置…...
45. 跳跃游戏 II(Java)
题目描述: 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到…...
[足式机器人]Part4 南科大高等机器人控制课 CH12 Robotic Motion Control
本文仅供学习使用 本文参考: B站:CLEAR_LAB 笔者带更新-运动学 课程主讲教师: Prof. Wei Zhang 课程链接 : https://www.wzhanglab.site/teaching/mee-5114-advanced-control-for-robotics/ 南科大高等机器人控制课 Ch12 Robotic …...
【C++】知识点汇总(上)
C知识点复习上 一、C 概述1. 基本数据类型2. 变量定义和访问3. 常量与约束访问 二、程序控制结构详解与示例1. 表达式2. 选择控制2.1 if 语句2.2 switch 语句 3. 循环控制3.1 for 循环3.2 while 循环3.3 do-while 循环 4. goto 语句5. 控制语句的嵌套 三、函数1. 函数的定义和调…...
解决docker容器内无法连接宿主redis
背景 小程序的发短信服务挂了,随查看日志,该报错日志如下 Error 111 connecting to 127.0.0.1:6379. Connection refused. 6379是监听redis服务的端口,那大概是redis出错了。 首先查看了redis是否正常启动,检查出服务正常。 由于小…...
43 tmpfs/devtmpfs 文件系统
前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…...
C语言编译器(C语言编程软件)完全攻略(第十二部分:VS2010下载地址和安装教程(图解))
介绍常用C语言编译器的安装、配置和使用。 十二、VS2010下载地址和安装教程(图解) 为了更好地支持 Win7 程序的开发,微软于2010年4月12日发布了 VS2010,它的界面被重新设计,变得更加简洁。需要注意的是,V…...
【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用
课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 VRTK和Unity自身的UI控制包可以配合使用发挥效果。本篇就讨论这方面的实战内容。 之前可以互动的立体UI并不是传统的2D UI对象,在实际使用中…...
BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】
这是本系列文章中的第3弹,请确保你已经读过并了解之前文章所讲的内容,因为对于已经解释过的概念或API,本文不会再赘述。 本文要利用BERT实现一个“垃圾邮件分类”的任务,这也是NLP中一个很常见的任务:Text Classification。我们的实验环境仍然是Python3+Tensorflow/Keras…...
静态网页设计——校园官网(HTML+CSS+JavaScript)
前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 使用技术:HTMLCSSJS 主要内容:对学校官网的结构进行模仿,对布局进行模仿。 主要内容 1、首页 首页以多个div对页面进行分割和布局…...
phpstudy_pro 关于多版本php的问题
我在phpstudy中安装了多个PHP版本 我希望不同的网站可以对应不同的PHP版本,则在nginx配置文件中需要知道不同的PHP版本的监听端口是多少,如下图所示 然而找遍了php.ini配置,并未对listen进行设置,好奇是怎么实现不同的PHP监听不同…...
TemporalKit的纯手动安装
最近在用本地SD安装temporalkit插件 本地安装插件最常见的问题就是,GitCommandError:… 原因就是,没有科学上网,而且即使搭了ladder,在SD的“从网址上安装”或是“插件安装”都不行,都不行!!&am…...
人生重开模拟器
前言: 人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏: 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 (1) 游戏开始的时…...
优化算法3D可视化
编程实现优化算法,并3D可视化 1. 函数3D可视化 分别画出 和 的3D图 import numpy as np from matplotlib import pyplot as plt import torch# 画出x**2 class Op(object):def __init__(self):passdef __call__(self, inputs):return self.forward(inputs)def for…...
魔术表演Scratch-第14届蓝桥杯Scratch省赛真题第1题
1.魔术表演(20分) 评判标准: 4分:满足"具体要求"中的1); 8分:满足"具体要求"中的2); 8分,满足"具体要求"中的3)…...
LLM 中的长文本问题
近期,随着大模型技术的发展,长文本问题逐渐成为热门且关键的问题,不妨简单梳理一下近期出现的典型的长文本模型: 10 月上旬,Moonshot AI 的 Kimi Chat 问世,这是首个支持 20 万汉字输入的智能助手产品; 10 月下旬,百川智能发布 Baichuan2-192K 长窗口大模型,相当于一次…...
深入了解Swagger注解:@ApiModel和@ApiModelProperty实用指南
在现代软件开发中,提供清晰全面的 API 文档 至关重要。ApiModel 和 ApiModelProperty 这样的代码注解在此方面表现出色,通过增强模型及其属性的元数据来丰富文档内容。它们的主要功能是为这些元素命名和描述,使生成的 API 文档更加明确。 Api…...
Linux学习第48天:Linux USB驱动试验:保持热情,保持节奏,持续学习是作为一个技术人员应有的基本素质和要求
Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 最近更新的速度和频率大不如以前,主要原因还是自己有些懈怠了。学习是一个持续努力的过程,一旦中断,再想保持以往的状态可能要…...
数据库索引简析
文章目录 前言一、索引是什么二、索引的有什么用三、索引的分类四、索引的数据结构总结 前言 在我们使用数据库的过程中,往往会碰到一个叫做索引的东西,不管是表的设计,还是数据库性能的优化往往都会涉及到索引。那么他是个什么东西ÿ…...
leetcode贪心(单调递增的数字、监控二叉树)
738.单调递增的数字 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时,我们称这个整数是单调递增的。ÿ…...
如何在win7同样支持Webview2 在 WPF 中使用本地 Webview2 ,如何不依赖系统 Runtime
项目运行环境: .Net Framework 4.5.2 Windows 7 x64 Service Pack 1 WebView2 Microsoft.WebView2.FixedVersionRuntime.120.0.2210.91.x64 考虑到很多老项目,本项目使用的是.Net Framework 4.5.2,.Net 更高版本的其实也是可以支持的。 …...
【docker】网络模式管理
目录 一、Docker网络实现原理 二、Docker的网络模式 1、host模式 1.1 host模式原理 1.2 host模式实操 2、Container模式 2.2 container模式实操 3、none模式 4、bridger模式 4.1 bridge模式的原理 4.2 bridge实操 5、overlay模式 6、自定义网络模式 6.1 为什么需要…...
网站开发的核心技术/新网站如何推广
小X 正困在一个密室里,他希望尽快逃出密室。 密室中有N 个房间,初始时,小X 在1 号房间,而出口在N 号房间。 密室的每一个房间中可能有着一些钥匙和一些传送门,一个传送门会单向地创造一条从房间X 到房间Y 的通道。另外…...
公司云网站建设/百度统计怎么使用
先看下源代码,预想从1至N总取出所有能被a或b整除的正整数之和,为了利用go语言的并行优势,特使用goroute特性来实现,同时使用普通顺序计算进行效率比较分析 package changoimport ( "fmt" "time")func get…...
在线书店网站怎么做/爱站网长尾关键词挖掘工具福利片
题意:传送门 题解:三种操作:一是区间加,使用lazy操作即可完成,而是平均数,使用区间加维护,三是区间方差,将公式展开,发现s21n∗(∑ixiyai2−2∗a‾∗∑ixiyai(y−x1)∗a‾…...
如何提高网站搜索排名/上海seo培训
python从入门到精通一个月就够了?答案是肯定的。要知道,一个月是一段很长的时间。如果每天坚持用 6-7 小时来做一件事,你会有意想不到的收获。 作为初学者,第一个月的月目标应该是这样的: 熟悉基本概念(变…...
tp框架做的网站/网络宣传策划方案
7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出&…...