美文网首页
01.手撕Go语言-初识

01.手撕Go语言-初识

作者: imsilence | 来源:发表于2019-06-23 21:36 被阅读0次

简介

Go是一门开放源码的编程语言,可容易的构建简单、可靠和高效的软件

历史

Go语言是由谷歌的开发工程师(罗伯特·格瑞史莫、罗布·派克、肯·汤普逊等)于2007年开始设计,利用20%的自由时间开发的实验项目,并于2009年以BSD-style授权(完全开源)首次公开发布,于2012年正式发布。

  • 罗布·派克:Unix小组成员,参与Plan9和Inferno操作系统,Limbo语言和UTF-8编码主要设计者,《Unix编程环境》,《编程实践》作者之一
  • 肯·汤普逊:B语言和C语言设计者,Unix和Plan9操作系统创立者之一,1983年图灵奖获得者
  • 罗伯特·格瑞史莫:参与制作JAVA的HotSpot编译器及Chrome浏览器JAVASCRIPT引擎V8

创造

开发者使用编程语言的三大分类(执行速度、简易程度、开发难度):

  • 执行速度快、编译速度慢(编译型):C,C++
  • 执行速度较慢、编译速度快(解释型): JAVA,.NET
  • 执行速度慢、开发难度小(动态脚本):Python,PHP

Go语言在3个条件做了平衡:易于开发、快速编译、高效执行

特性

Go语言被称为21世纪的C语言,Go从其他开发语言的借鉴了许多优秀的设计思想,例如从C语言借鉴表达式、流程控制、基础数据类型、参数传递、指针等,从Oberon-2语言借鉴的包的导入和声明等,从Oberon语言借鉴的面向对象特性中方法的声明语法,从Limbo语言中借鉴的CSP(通信顺序进程,
communicating sequential
processes),从APL语言借鉴的iota语法,从Scheme语言借鉴的作用域和嵌套函数……

  • 静态类型并具有丰富的内置类型:
    bool、byte、rune、int、float、string、array、slice、map
  • 函数多返回值
  • 错误处理机制:使用defer、panic、recover定义标准的错误流程
  • 语言层并发:使用关键字go将函数以Goroutine方式运行,使用CSP模型作为Goroutine的通信方式
  • 面向对象:使用类型、组合、接口来实现面向对象思想
  • 反射
  • CGO:用于调用C语言实现的模块
  • 自动垃圾回收
  • 静态编译
  • 交叉编译
  • 易于部署
  • 基于BSD协议完全开放

应用

Go语言主要用于服务端开发,其定位是开发大型软件,常用于:

  • 服务器编程:日志处理、数据打包、虚拟机处理、文件系统
  • 分布式系统、数据库代理等
  • 网络编程:Web应用、API应用、下载应用
  • 内存数据库
  • 云平台
  • 机器学习
  • 区块链
  • ......

使用Go开发的项目列表:https://github.com/golang/go/wiki/Projects

  • Go
  • docker
  • kubernetes
  • lantern
  • etcd
  • Prometheus
  • Influxdb
  • Consul
  • nsq
  • beego
  • ...

使用Go开发的组织:http://go-lang.cat-v.org/organizations-using-go

  • 国外:Google、CloudFlare……
  • 国内:阿里、腾讯、百度、京东、爱奇艺、小米、今日头条、滴滴、美团、饿了么、360、七牛、B站、盛大、搜狗......

安装

下载地址:

Windows

  1. 下载安装包

    01.01.png
  2. 安装

    01.02.png 01.03.png 01.04.png 01.05.png 01.06.png 01.07.png

Linux

  1. 下载

    01.08.png
  2. 安装&配置

    01.09.png 01.10.png 01.11.png

欢迎添加公众号【扯淡er】学习交流

扯淡er

相关文章

  • 01.手撕Go语言-初识

    简介 Go是一门开放源码的编程语言,可容易的构建简单、可靠和高效的软件 历史 Go语言是由谷歌的开发工程师(罗伯特...

  • golang的helloworld

    go语言初识 go语言的变量

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

  • GO语言——入门(1)

    一、初识GO语言 1.GO语言介绍 1.1 GO语言是什么 2009年11月10日,GO语言正式成为开源编程语言家...

  • 初识go语言

    title: 初识go语言tag: golang 编程语言categories: notes 简介 Go语言是一门...

  • 以太坊私有链搭建+挖矿+转账

    初识以太坊 以太坊介绍链接 以太坊官方 选择语言 选择以GO语言开发的Go-ethereum项目 GO语言安装 安...

  • 08.手撕Go语言-函数

    函数包含函数名、行参列表、函数体和返回值列表,使用func进行声明,函数无参数或返回值时则形参列表和返回值列表省略...

  • 09.手撕Go语言-包

    包是函数和数据的集合,将有相关特性的函数和数据放在统一的文件/目录进行管理,每个包都可以作为独立的单元维护并提供给...

  • 12.手撕Go语言-方法

    方法是为特定类型定义的,只能由该类型调用的函数 定义 方法是添加了接收者的函数,接收者必须是自定义的类型 举例: ...

  • 13.手撕Go语言-接口

    接口是自定义类型,是对是其他类型行为的抽象 定义 接口定义使用interface标识,声明了一系列的函数签名(函数...

网友评论

      本文标题:01.手撕Go语言-初识

      本文链接:https://www.haomeiwen.com/subject/jbwwqctx.html