Go基础-listen1

本文介绍了Go语言中包的概念、基本命令如gorun和gobuild,程序结构包括package组织和main函数,以及Golang的关键特性如垃圾回收、并发、channel通信和多返回值。此外,还提及了Go作为编译型语言的性能和开发效率特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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、付费专栏及课程。

余额充值