Go 语言基础语法 | 青训营笔记

150 阅读6分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天,今天学习的课程是Go 语言基础 - 基础语法

一、走进Golang

1、Golang引入

【1】简介: Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种计算机编程语言语言。 【2】设计初衷: Go语言是谷歌推出的一种的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,"使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。"

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

【3】应用领域:

image.png

【4】用go语言的公司:

1、Google 这个不用多做介绍,作为开发Go语言的公司,当仁不让。Google基于Go有很多优秀的项目。

2、Facebook Facebook也在用,为此他们还专门在Github上建立了一个开源组织facebookgo,大家可以通过github.com/facebookgo访问查看facebook开源的项目,比如著名的是平滑升级的grace。

3、腾讯 腾讯作为国内的大公司,还是敢于尝试的,尤其是Docker容器化这一块,他们在15年已经做了docker万台规模的实践,主要职责是: 负责腾讯游戏蓝鲸平台后台开发工作 负责容器相关的开发工作 和蓝鲸平台,容器开发有关。腾讯作为主要使用C/C++的公司,使用Go会方便很多,也有很多优势,不过日积月累的C/C++代码很难改造,也不敢动,所以新业务会在Go方面尝试。

4、百度 目前所知的百度的使用是在运维这边,是百度运维的一个BFE项目,负责前端流量的接入。其次就是百度的消息系统,从其最近的Golang招聘介绍就可以看出来. 负责公司手百消息通讯系统服务器端开发及维护

5、京东 京东云消息推送系统、云存储,以及京东商城等都有使用Go做开发。

6、小米 小米对Golang的支持,莫过于运维监控系统的开源。 此外,小米互娱、小米商城、小米视频、小米生态链等团队都在使用Golang。

7、360 360对Golang的使用也不少,一个是开源的日志搜索系统Poseidon,托管在Github上. 还有360的推送团队也在使用。 360直播在招聘Golang开发工程师。 美团、滴滴、新浪、阿里、京东以及七牛等。一般的选择,都是选择用于自己公司合适的产品系统来做,比如消息推送的、监控的、容器的等,Golang特别适合做网络并发的服务,这是他的强项,所以也是被优先用于这些项目。

2、Golang简史

【1】开发团队: 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。

【2】Go语言发展简史 2007年,谷歌工程师Rob Pike, Ken Thompson和Robert Grisemer开始设计一门全新的语言,这是Go语言的最初原型。 2009年11月,Google将Go语言以开放源代码的方式向全球发布。 2015年8月,Go1.5版发布,本次更新中移除了"最后残余的c代码" 2017年2月,Go语言Go 1.8版发布。 2017年8月,Go语言Go 1.9版发布。 2018年2月,Go语言Go1.10版发布。 2018年8月,Go语言Go1.11版发布。 2019年2月,Go语言Go1.12版发布。 2019年9月,Go语言Go1.13版发布。 2020年2月,Go语言Go1.14版发布。 2020年8月,Go语言Go1.15版发布。 ....一直迭代

【2】Go语言的吉祥物 - 金花鼠Gordon。

3、开发环境搭建

【1】搭建Go开发环境 - 安装和配置SDK 基本介绍: 1) SDK的全称(Software Development Kit 软件开发工具包) 2) SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包。

【2】SDK下载 1) Go语言的官网为: golang.org ,无法访问,需要翻墙。 2) SDK下载地址 : Golang中文社区:studygolang.com/dl (1.15.6版本)

【3】安装SDK: 请注意:安装路径不要有中文或者特殊符号如空格等 SDK安装目录建议:一般我安装在d:/golang_sdk安装时 , 基本上是傻瓜式安装,解压就可以使用

4、DOS命令详解

【1】DOS操作系统 --Microsoft公司推出的操作系统。(在windows之前的操作系统) --DOS是英文"Disk Operating System"的缩写,其中文含意是"磁盘操作系统". --DOS是单用户、单任务的操作系统.(只能执行一个任务)

【2】DOS命令 --在windows中,我们通过鼠标菜单等来操作系统,而在dos操作系统中,要通过dos命令来操作系统。 --是DOS操作系统的命令,是一种面向磁盘的操作命令, --不区分大小写。

【3】命令学习: windows给我们保留了类似dos系统的操作界面,可以直接操作磁盘! dos 也是一种操作系统,是在windows出现以前用的,后来windows出来后基本没人用了,但是当windows崩溃的时候,还是要的dos方式解决,它是一种纯命令方式,cmd其实就是在windows状态下进入dos方式。

控制命令台:win+r--->cmd

【4】具体dos命令:

(1)切换盘符: c: d: e: 大小写没有区分

(2)显示详细信息:dir

(3)改变当前目录:cd

(4) . 当前目录 .. 代表上一层目录

(5)清屏:cls

(6)切换历史命令:上下箭头

(7)补全命令: tab按键

(8)创建目录:md 删除目录:rd

(9)复制文件命令:copy:

(10)删除文件:del del后面如果接的是文件夹/目录:那么删除的就是这个文件夹下的文件,而不是文件夹