前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第一篇:初始Golang

第一篇:初始Golang

作者头像
超蛋lhy
发布2018-10-09 11:39:21
8390
发布2018-10-09 11:39:21
举报
文章被收录于专栏:PythonistaPythonistaPythonista

Golang简介

编程语言已经非常多,偏性能敏感的编译型语言有 C、C++、Java、C#、Delphi和Objective-C 等,偏快速业务开发的动态解析型语言有PHP、Python、Perl、Ruby、JavaScript和Lua等,面向特 定领域的语言有Erlang、R和MATLAB等,那么我们为什么需要 Go这样一门新语言呢?

数据来源:https://www.tiobe.com/tiobe-index/

编程语言排行榜前9名是相当稳定的,但是第10名每个月都会变化,候选人就是GO、Swift和R。Swift是IOS移动应用程序的头号编程语言,但是仅仅适用IOS而不能用于Android,另外R语言的地位深深的被python压制。

在2000年以前的单机时代,C语言是编程王中王。随着机器性能的提升、软件规模和复杂度提高、Java逐步取代了C的大佬地位。但是Java编程的体验并未尽人意。历年来Java的市场份额在逐步下降,后劲不足。

Go语言作者

罗伯特·格瑞史莫,罗波·派克,肯·汤普逊于2006年1月2号下午15点4分5秒设计出了go语言。

Robert开发GO之前是Google v8、HotSpot JVM的主要贡献者;Rob主要是Unix、UTF-8、plan9的作者;Ken主要是C、B语言、Unix之父。

后来Ian Lance Taylor、Russ Cox加入项目,Ian Lance Taylor是GCC的作者之一,目前负责GCC的Go实现;Brad Fitzpatrick之前是Memcache的作者,目前主要是HTTP2的实现作者。

Go语言与新技术

Golang是Google开发的一种静态强类型、编译型、并发型、具有垃圾回收功能的编程语言。Go语言作者之一Rob Pike在新文章“Go: Ten years and climbing”中,回顾了一下 Go 语言的发展过程。他们自己都没想到Go语言的迅猛发展,迅速成为了云计算领域中新一代开发语言,中国程序员对Go的热爱超出了他们的想象。

Go语言特色:

  • 语法简单、上手快
  • 并行和异步编程几乎无痛点,Go语言的Goroutine和Channel是并发编程两大神器,而C、Java、Python等语言的并发和异步控制比较麻烦,还很容易出错,而Go解决这个问题非常优雅流畅
  • 互联网时代的C语言,C语言关注执行效率和性能与底层友好,而python是用尽量少的代码完成更多的事。而Go语言期望完成一种C+python的统一,解决开发效率和底层应用开发
  • Go语言有Google世界一流的技术公司支持
  • 杀手级应用Docker

Go语言不会吞噬底层到C和C++的级别,也不会吞噬到Java的业务层。Go语言一定能吞噬的是Pass上的项目,例如消息缓存中间件、服务发现、日志收集、控制系统等。

Go语言杀手级的Docker应用优势:

  • Docker上手容易
  • 解决了运维中的环境问题
  • Google的支持
  • k8s

使用Go语言的公司

Golang环境

安装Golang

Go安装
windows:
1、下载安装包
https://golang.org/dl/  国外网站
https://studygolang.com/dl  国内网站
下载地址: https://studygolang.com/dl/golang/go1.11.windows-amd64.msi
2.安装
默认安装路径:C:\Go
3.环境变量已默认添加
C:\Go\bin;

Linux、MacOS

安装包下载地址:https://studygolang.com/dl

查看golang环境

C:\Users\yuchao>go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\yuchao\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\yuchao\go #存放golang项目的目录,所有项目都放到gopath的src目录下
set GOPROXY=
set GORACE=
set GOROOT=C:\Go   #golang的安装目录
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Q

C:\Users\yuchao>

Golang目录结构

http://docscn.studygolang.com/doc/code.html

go命令依赖一个重要的环境变量:$GOPATH,gopath定义go项目的工作目录。

例如go install 命令用于构建二进制命令,产生一个可执行的二进制文件,然后将该二进制文件作为hello安装到gopath的bin目录中。

用golang向世界say hello world

在目录C:\Users\yuchao\go\src\go_study\hello\下创建hello.go文件,写入代码

package main //package关键字,指定hello.go属于哪个包,指定main就是说是可执行程序

import "fmt" //导入格式化输出的fmt包

func main() {   //func定义main函数,是程序的入口函数,在执行可执行二进制文件的时候,找到main函数体
    fmt.Println("I am a gopher,i am saying 'Hello World!'") //fmt.Println打印并换行
}

编译生成可执行文件 hello.exe

#go build 编译生成可执行二进制文件
C:\Users\yuchao\go\src\go_study\hello>go build hello.go
#执行hello.exe文件
C:\Users\yuchao\go\src\go_study\hello>hello.exe
I am a gopher,i am saying 'Hello World!'

goland IDE

下载地址:https://www.jetbrains.com/go/download/#section=windows

激活地址:
http://idea.lanyus.com/
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Golang简介
  • Go语言作者
  • Go语言与新技术
  • 使用Go语言的公司
  • Golang环境
  • Golang目录结构
  • 用golang向世界say hello world
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档