Go 语言学习1-背景知识与helloworld

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/d4snap/article/details/78136840

Go语言是什么

这可以忽略了,百科写的更清楚,传送门。但是为什么要学这一门语言呢?因为它很萌么难道?不过固然每一门语言都有其优势与特点,那么go的又是什么呢?

诞生

2006年1月2日下午15点4分5秒
// 这个时间有意义

发展

2017年1.9版本
2017年排名进入前20

看看第一个程序heoolworld

毕竟说来说去,还是看看helloworld更直接

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

package main 就是一个包的声明,go语言的package可以由多个文件构成,只要他们都在声明相同的包名就好。

import "fmt" 是导入了一个fmt包,import在这里其实有点类似c的include的意思。fmt可以简单的认为是一个标准输入输出的包。
import其实有多种用法,还可以用"github.com/balabala"这样来导入某路径下的包,这里是一个包所在的文件夹的名字而不是包的名字
亦或者import f "fmt" 这样给导入的包一个新的别称,可以简化你的调用
甚至可以用 import . "fmt",这样就根本不用在调用fmt内的函数等时候写任何前缀,比如fmt.Printf()就只要写Printf()就好了。

func main()main函数仍然是程序的入口。也就是一般称之为入口函数的存在。一个包不能有两个main函数,同样main包里面也不能没有main函数。

这样之后我们就可以编译运行了。

命令

go语言是一个编译型的语言,也就是不能像脚本语言那样直接运行,但是编译型的语言好处是编译之后的可执行文件性能好。

go build hello
go run hello.go

// or

go build github.com\weirdsnap\hello
go run github.com\weirdsnap\Blog\main.go

build命令是编译,编译的最小单位是包,所以只要指定到包所在的文件夹即可,还可以-o选项。
run命令是编译运行,但是他的编译结果是放在临时文件里,所以只适合快速测试,并不适合生成。

其他常用命令:
go env 显示相关环境变量
go test 进行测试
go fmt 格式化文件,go语言推荐按照规范格式化代码,使用统一的代码风格

语言特性

垃圾回收
- 自动回收,不需要开发人员处理,失去了最后的引用的变量将会被销毁
- 降低编码人员工作

支持并发
- go 操作
- goroutine 用户级线程

多返回值
- 函数的返回值不止一个可以

猜你喜欢

转载自blog.csdn.net/d4snap/article/details/78136840