美文网首页golang
golang-开山篇

golang-开山篇

作者: 5号船长 | 来源:发表于2018-11-04 16:09 被阅读25次
背景

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。

Go的目标是希望提升现有编程语言对程序库等依赖性的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。

golang特点

1.加入并发编程。
2.为大数据,微服务,并发而生的通用编程语言。
3.没有对象,没有继承,没有泛型,没有try/catch。
4.有接口,函数式编程,CSP并发模型(goroutine+channel)。
5.go语言的语法很简单。
6.稳住。

基本语法概览

1.有变量,选择,循环,指针,数组,容器
2.结构体,duck typing的概念,组合的思想
3.函数式编程,闭包
4.资源管理,错误处理,测试和文档,性能调优
5.并发编程,goroutine和channel,调度器

go语言的安装与开发环境

go语言的官网:https://golang.org/
go的下载:https://golang.org/dl/

go1.png
可以看到go语言有多平台多安装包。

开发环境:
这里有很多编辑器可以选择使用,大家可以自行了解。

安装:
Mac下可以直接使用:
brew install go
也可以使用如下命令查看安装的具体信息:
brew info go
安装完成之后可以使用如下命令检测是否安装成功:
go version

版本信息.png
看到上图所示就表示安装成功了。

直接在终端输入go,可以查看go的命令信息:

bug         start a bug report
build       compile packages and dependencies
clean       remove object files and cached files
doc         show documentation for package or symbol
env         print Go environment information
fix         update packages to use new APIs
fmt         gofmt (reformat) package sources
generate    generate Go files by processing source
get         download and install packages and dependencies
install     compile and install packages and dependencies
list        list packages or modules
mod         module maintenance
run         compile and run Go program
test        test packages
tool        run specified go tool
version     print Go version
vet         report likely mistakes in packages
go编写的一些项目

1.docker:无人不知的虚拟华平台,开源的应用容器引擎,借助该引擎,开发者可以打包他们的应用,移植到任何平台上。

2.golang:go本身,也是用go语言实现的,包括他的编译器,要研究go源代码的可以看此项目录:https://github.com/golang/go

3.lantern:蓝灯,一款P2P的过墙软件,他和SS不一样的是,他是分布式的,P2P的,通过蓝灯,你可以和自由上网的用户共享网络,对方可以自由上网,你也就自由了。https://github.com/getlantern/lantern

4.kubernetes:Google出品,用于调度和管理docker的开源容器管理系统,利用他,可以方便的管理你的docker实例,哪怕非常多,也是目前最流行的docker管理系统。https://github.com/kubernetes/kubernetes

以上是几个比较知名的项目了,还有其他的可以去github上逛逛。

总结

这以篇主要是瞎介绍的一些通用知识,下一篇开始代码。

相关文章

  • golang-开山篇

    背景 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师...

  • Swift开山篇

    之前 一直想腾出时间去转型swift,也曾搭过swift的项目框架,后来由于公司的业务一直处于oc开发状态,稍微复...

  • 开山之篇

    这一次选择金旭亮老师的编程之路对我的启发还是蛮大的。所有的基础也都离不开一个核心的主题就是数学。从之前的高等数学到...

  • 遐思-开山篇

    点上烟,喝口水,整理下思路。 作为遐思文集的开山篇,其实并没有什么历史性的意义。没有什么开创性步伐的想法,也没有见...

  • golang-区块链学习02工作量证明

    前言 在前一篇“golang-区块链学习01”的基础上,增加我们区块链的工作量证明。 知识点 1、区块链Proof...

  • go 变量声明初始化、new、make

    title: go 变量声明初始化、new、makedate: 2019-01-04tags:- golang- ...

  • Linux开山篇1

    之前我讲了shell编程,shell是能直接操作内核的解释型语言,写一个部署分布式集群的脚本,用其他语言可能要花上...

  • Linux开山篇2

    这两天在学习KVM KVM是内核级虚拟化技术 所以昨天我停止了 一天,大脑的疲惫能够将精神面貌这个东西和程序员挂不...

  • 诗忆-开山篇

    诗忆,不是诗意。顾名思义,就是对诗的回忆,在这里,当然是我自己曾写过的诗的一种回忆与记录。 以前年少轻狂,颇有一种...

  • 操作系统开山篇

    操作系统就是位于计算机用户与计算机硬件之间的一个大型程序,可以更好的管理计算机的硬件,方便计算机用户。 1、操作系...

网友评论

    本文标题:golang-开山篇

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