golang学习之旅1

aside section ._1OhGeD · · 760 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

GO简介

开始跟着七米老师学习Go语言啦!Go代表的是一种趋势,一种未来!Go2009年发布,当时多核处理器已经上市。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。

image

Go语言的并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。可以将 goroutine 理解为一种虚拟线程。Go 语言运行时会参与调度 goroutine,并将 goroutine 合理地分配到每个 CPU 中,最大限度地使用CPU性能。开启一个goroutine的消耗非常小(大约2KB的内存),你可以轻松创建数百万个goroutine。goroutine`的特点:

  1. goroutine具有可增长的分段堆栈。这意味着它们只在需要时才会使用更多内存。

  2. goroutine的启动时间比线程快。

  3. goroutine原生支持利用channel安全地进行通信。

  4. goroutine共享数据结构时无需使用互斥锁。

GO1

安装

  • Windows系统下,直接next安装

  • Linux系统下

    • 下载:wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz

    • 创建目录:mkdir /usr/local/go

    • 解压安装:sudo tar -C /usr/local/go .gz

    • 配置环境变量:vim /etc/profile,添加如下内容:

      • export GOROOT=/usr/local/go

      • export PATH=\$PATH:\$GOROOT/bin

    • 上述过程重启生效

    • 如果是修改:vim $HOME/.profile,进行source $HOME/.profile

    • 检查版本:go version

配置GOPATH

GOPATH是一个环境变量,用来表示GO语言代码保存的位置。win10为例,在高级系统设置的环境变量中

  • 用户变量下,设置GOPATH,添加代码存放位置,比如:d:\go

  • 添加PATHGO语言安装的bin路径

  • 系统环境变量的PATH中也要添加GObin安装路径。

  • 重启cmd,检测命令:go env

必须将GOROOTGOPATH下的bin目录都添加到环境变量中

GO项目架构

个人开发

GO源码都在GOPATHsrc目录下:

  • bin:存放编译后的二进制文件

  • pkg:存放编译后的库文件

  • src:存放源码文件,各种项目文件

流行的项目结构

Go语言也是通过包组织代码文件,通过别人的包来发布自己的包,防止包名字的冲突,采用顶级域名的方式,作为包的前缀。流行的方式是通过Github用户来区分不同的包名

公司级架构

GO语言编辑器

使用最多的是VS codeGoland。七米老师推荐的是VS code,我使用的是Goland

Hello word

代码

package main
 //声明当前库文件是可执行程序,非普通库
 ​
 import "fmt"
 //内置的fmt
 ​
 func main(){
  //声明入口函数
  fmt.Println("Hello  World!")
 }

编译和执行

Goland界面在终端中进行编译和执行:

image
  • 执行go build,在hello目录下生成了hello.exe可执行文件

  • 执行hello.exe,运行第一个代码

  • 执行go build -o demo.exe,生成指定名字demo的可执行文件,同样运行

image
  • 通过go install,在bin目录下生成可执行文件,在整个系统的任何目录均可执行。
image

通过github自命名运行

image
image

跨平台编译

 SET CGO_ENABLED=0   //终端执行命令,禁用CGO;CGO默认是不允许跨平台
 SET GOOS=linux     //目标操作平台是linux
 SET GOARCH=amd64  //目标处理架构
 go build  //编译成二进制文件
 SET GOOS=windows     //操作系统还回去
image

GO常用命令

go build  //编译
 go build -o demo.exe  //生成指定的编译文件
 demo.exe  //运行可执行文件
 go install  //在bin目录下生成可执行文件,之后在系统的任何目录下均可运行可执行文件
 go run main.go  //运行go的脚本文件
 ​
 //关于跨平台编译
 SET CGO_ENABLED=0 
 SET GOOS=linux 
 SET GOARCH=amd64 
 go build 
 SET GOOS=windows 

人生苦短,Let`s GO!


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:aside section ._1OhGeD

查看原文:golang学习之旅1

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

760 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传