总所周知,go语言是google公司开发的语言。
那么它有什么特点呢
1、自带垃圾回收机制。a、内存自动回收,再也不需要开发人员管理内存。b、开发人员专注业务实现,降低了心智负担。c、只需要new分配内存,不需要释放。
2、天然并发,go语言是天然支持多并发的。a、从语言层面支持并发,非常简单。b、goroute,轻量级线程,创建成千上万个goroute成为可能。c、基于CSP(Communicating Sequential Process) 模型实现
func main() {
go fmt.Println("hello!")
}
3、channel (管道)
a、管道,类似unix/linux中的pipe
b、多个goroute之间通过channel进行通信
c、支持任何类型
func main() {
pipe := make (chan int,3)
pipe <- 1
pipe <- 2
}
4、多返回值 。 a、一个函数返回多个值。
func calc(a int ,b int )(int ,int) {
sum := a+b
avg := (a+b) /2
return sum ,avg
}
下面,我们开始写第一个程序,hello world !这算是一种仪式吧!
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
}
package main
import (
"fmt"
"calc"
)
func main() {
sum := calc.Add(3,5)
fmt.Println("hello world,%d",sum)
}
至此,对go的基本的了解就到了这里。
这里面有个转义 := 代表变量是int类型 。
有疑问加站长微信联系(非本文作者)