首页 > 编程语言 > 详细

go语言学习(一)

时间:2019-10-08 20:34:54      阅读:121      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

一、go发展历史

1.1诞生历史

1、诞生于2006年1月下午15点4分5秒

2、2009发布并正式开园

3、2012年第一个正式版本Go1.0发布

4、截止2019年10月8日,Go1.13.1

1.2发展情况

技术分享图片

 

二、开发环境搭建

2.1GO安装

1、打开https://golang.org/dl/

技术分享图片

 

2、下载对应操作系统

3、安装

1、windows双击安装

2、linux编译安装

mkdir -p /var/opt/wwwroot/goblog
配置环境变量

vim /etc/profile
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=/var/opt/wwwroot/goblin
source /etc/profile
安装结束,验证

go version

go调试
dlv debug --headless --listen=:8030 --api-version=2

2.3git安装

1、下载

 https://git-scm.com/downloads

 技术分享图片

 

2、安装

window双击安装

linux

$ yum install git
$ yum install git-svn git-email gitk

2.3IDE(GoLand)

1、安装过程不再重复(详见pycharm安装)直接上验证

技术分享图片

 

技术分享图片

 

注意:配置环境变量

 技术分享图片

 

 三、Golang目录结构介绍

3.1目录结构划分

 技术分享图片

 

3.2目录结构划分二

 技术分享图片

 

三、第一个golang程序

// 属于那个包,package包名和函数对应一一对应
package main

// 导入包
import (
    "fmt"
)

func main() {
    // 打印fmt.Println
    fmt.Println("hello world")
    // 睡眠时间
    // time.Sleep(time.Second*10)
}

四、包的概念

1、和python?一样,把相同功能的代码放到?一个?目录,称之为包

2、 包可以被其他包引?用

3、 main包是?用来?生成可执?行行?文件,每个程序只有?一个main包

4、 包的主要?用途是提?高代码的可复?用性

 五、Go 基本命令介绍

1、基本命令

a. go run 快速执?行行go?文件,就像执?行行脚本?一样
b. go build 编译程序,?生成?二进制可执?行行?文件
c. go install 安装可执?行行?文件到bin?目录

2、 基本命令

a. go test 执?行行单元测试或压?力力测试
b. go env 显示go相关的环境变量量
c. go fmt 格式化源代码

3、 Go程序结构

b. ?一个可执?行行程序只有?一个main包和?一个main函数
c. main函数是程序的执?行行?入?口
a. go源码按package进?行行组织,并且package要放到?非注释的第?一?行行

4、注释

b. 多?行行注释 /* */
a. 单?行行注释 //

六、golang语言特性

1、 垃圾回收

a. 内存?自动回收,再也不不需要开发?人员管理理内存
b. 开发?人员专注业务实现,降低了了?心智负担
c. 只需要new分配内存,不不需要释放

2、天然并发

a. 从语?言层?面?支持并发,?非常简单。只需要go?一下
b. goroutine,轻量量级线程,创建成千上万个goroute成为可能

func calc() {      
    //?大量量计算? 
} 
func main() {
       go calc()? 
}

3、channel

a. 管道,类似unix/linux中的pipe
b. 多个goroute之间通过channel进?行行通信
c. ?支持任何类型

4、 多返回值

a. ?一个函数返回多个值

5、 编译型语?言

go语言学习(一)

原文:https://www.cnblogs.com/wangshuyang/p/11637406.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!