Go基础-listen1

A.包的概念

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

2.包可以被其他包引用。

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

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


B.Go基本命令介绍

A.基本命令

1.go run快速执行go文件,就像执行脚本一样

2.go build编译程序生成二进制文件

3.go install(go get)安装可执行文件到bin目录

B.  其他命令

1.go test 执行单元测试或者压力测试

1.go env 显示当前go相关的环境变量(查询go当前版本)

3.go fmt格式化源代码

  C.Go程序结构

1.go源码anpackage进行组织,并且package要放到非注释的第一行

2.一个程序只有一个main包和main函数

3.main函数是程序的执行入口

D.注释

1.//单行注释

2./* ..*/多行注释(goland快捷键 ctrl+shift+/)


C.Golang语言特性

A.垃圾回收

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

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

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

B.天然并发

1.从语言层面支持并发,肥肠简单,只需要go一下

2.goroutine,轻量级线程(也叫协程或者go程),创建成千上万个也是简简单单,因为一个go程可能只需要2-4kb。

例如:

func goro()  {
   //代码块
}
func main() {

go goro()

}

C.channel

1.管道,类似unix/linux中的pipe

2.多个goroutine之间通过channe进行通信

3.支持任何类型

//举例代码

func main() {
    ch := make(chan string, 20)//make一个chan 值为字符串,容量为20
    ch <- "hello"  //hello赋值给ch
    ch <- "world" //world赋值给ch
    ch <- "!"  //!赋值给ch
    s1 := <-ch  //读取第一个ch
    s2 := <-ch  //读取第二个ch
    fmt.Println( s1, s2)
}
//输出
结果为  hello world 因为!并没有进行读取所以没有打印

D.多返回值

1.一个函数返回多个返回值

func  a(c int)(n int,err error) //第一个括号里a叫函数名 ,c是形参 需传入int类型数据;第二个括号内是返回值(n int)是第一个返回值,n是对int起名也可以忽略(err error)error是一个错误类型。

E.编译型语言

1.性能只比c略差

2.开发效率和Python,PHP媲美


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值