大数据开发-Go-初始Go && 常见特点

本文介绍了Go语言的基本特点,包括内置的并发支持、类型系统、关键字、常量自动补全以及变量声明方式。重点讲解了Go中的协程(goroutine)和通道(channel)如何实现并发同步,以及GOROOT和GOPATH的概念。同时,概述了Go的流程控制语法、函数声明和调用以及类型推断等核心概念。

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

Go提供了几种基本但非必需的类型,比如切片,接口和通道。

Go简单不是它的主要卖点,做为一门静态语言,Go却和很多动态脚本语言一样得灵活是Go的主要卖点,节省内存、程序启动快和代码执行速度快合在一块儿是Go的另一个主要卖点,Go是一门编译型的和静态的编程语言。 Go诞生于谷歌研究院

  • 内置并发编程支持:

    • 使用协程(goroutine)做为基本的计算单元。轻松地创建协程。

    • 使用通道(channel)来实现协程间的同步和通信。

  • 内置了映射(map)和切片(slice)类型。

  • 支持多态(polymorphism)。

  • 使用接口(interface)来实现裝盒(value boxing)和反射(reflection)。

  • 支持指针。

  • 支持函数闭包(closure)。

  • 支持方法。

  • 支持延迟函数调用(defer)。

  • 支持类型内嵌(type embedding)。

  • 支持类型推断(type deduction or type inference)。

  • 内存安全。

  • 自动垃圾回收。

  • 良好的代码跨平台性。

    编译时间的长短是开发愉悦度的一个重要因素。 编译时间短是很多程序员喜欢Go的一个原因

运行第一个go程序

## 运行go程序
go run 

## 打包go程序,生成可执行文件
go build 

## 来安装一个第三方Go程序的最新版本,(至GOBIIN目录) 在Go官方工具链1.16版本之前,对应的命令是go get -u example.com/program(现在已经被废弃而不再推荐被使用了
go install 

## 检查可能的代码逻辑错误
go vet

## 获取网络的依赖包,用拉添加、升级、降级或者删除单个依赖,不如go mod tidy常用?
go get -u

## 生成go.mod 文件,依赖到的模块
go mod init Demo.go

## 扫描当前项目中的所有代码来添加未被记录的依赖至go.mod文件或从go.mod文件中删除不再被使用的依赖
go mod tidy



## 格式化源文件代码
go fmt Demo.go 

##  运行单元和基准测试用例
go test

##  查看Go代码库包的文档
go doc 

## 运行go help aSubCommand来查看一个子命令aSubCommand的帮助信息 
go help 

GOROOT和GOPATH

GOROOT是Go语言环境的安装路径,在安装开发环境时已经确定 GOPATH是当前项目工程的开发路径,GOPATH可以有多个,每个GOPATH下的一般有三个包,pkg、src和bin,src用于存放项目工程的源代码文件,pkg文件夹下的文件在编译时自动生成,bin目录下生成*.exe的可执行文件。 PS:每一个GOPATH下都可以有pkg、src、bin三个文件夹,当设置多个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值