Go 入门

 1.开发环境搭建

  1. 安装Go

     打开网址https://golang.org/dl/

2.IDE搭建(vscode)

a.打开网址:https://code.visualstudio.com

b. 根据操作系统选择对应的安装包

c. 点击安装包进行安装(linux直接解压)

 

 

3.使用VS Code 新建Go项目

 

a. 新建目录/home/user/project/go/src/listen1

b. 用vscode打开目录/home/user/project/go/src/listen1

c. 右键新建文件hello.go,保存

d. vscode会提示你安装一些go的工具,我们点击install all

 

 

 


3. 调试工具delve安装
a.打开网址:
https://github.com/derekparker/delve/tree/master/Documentation/installation

b. mac: brew install go-delve/delve/delve

c. linux&windows: go get github.com/derekparker/delve/cmd/dlv

 


golang语言特性

1. 垃圾回收

a.内存自动回收,再也不需要开发人员管理内存

b.开发人员专注业务实现,降低了心智负担

只需要new分配内存,不需要释放

golang语言特性

2. 天然并发

从语言层面支持并发,非常简单

goroute,轻量级线程,创建成千上万个goroute成为可能

基于CSP(Communicating Sequential Process)模型实现

func main() {
go fmt.Println(“hello")
}

3. channel

管道,类似unix/linux中的pipe

b. 多个goroute之间通过channel进行通信

支持任何类型
func main() {
pipe := make(chan int,3)
pipe <- 1
pipe <- 2
}

4. 多返回值

一个函数返回多个值

func calc(a int, b int)(int,int) {
sum := a + b
avg := (a+b)/2
return sum, avg
}


第一个golang程序

1. hello world,在listen1目录下新建hello.go

package main

import(
“fmt”
)

func main() {
fmt.Println(“hello world”)
}


包的概念


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

2. 包可以被其他包引用

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

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


包的实战

1. 在listen1目录下新建calc目录

2. 在calc目录下新建calc.go

package calc

func Add(a int, b int) int {
return a + b
}


1. 修改hello.go代码,如下


package main

import(
“fmt”
“calc”
)

func main() {
sum := calc.Add(3,5)
fmt.Println(“hello world,%d”,sum)
}

 

posted @ 2019-11-12 14:55  汪丛兴  阅读(155)  评论(0编辑  收藏  举报