Go语言基础

Go是一门`支持并发`、`垃圾回收`的编译型系统编程语言,诣在创造一门
具有在静态编译语言的`高性能`和动态语言的高效开发之间拥有良好平衡点的一门编程语言

Go语言特点

  • 类型安全和内存安全
  • 以非常直观和极低代价的方案实现高并发
  • 高效的垃圾回收机制
  • 快速编译(同时解决C语言中头文件太多问题)
  • 为多核计算机提供性能提升的方案
  • UTF-8编码支持

安装Go语言

由于无法访问Google,可以通过国内链接下载
Mac用户可以通过`brew install go`进行安装。
安装后需要配置环境变量
brew方式安装在/usr/local/opt/go/libexec目录下
export GOPATH=$HOME/go  # 需要在用户家目录创建一个名为go的目录,到时候你可以在该目录下编写Go程序,可以自定义路径,然后该变量指定为自定义路径
export GOROOT=/usr/local/opt/go/libexec  # 指定go软件包目录
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH  # 输出go命令为全局模式,方便调用
可以将上述三行写在`~/.bashrc`文件或全局环境变量文件`/etc/profile`

根据约定GOPATH需要创建3个目录:

  • bin 存放编译后生成的可执行文件
  • pkg 存放编译后生成的包文件
  • src 存放项目源码

Go命令介绍

通过命令行输入后即可查看所有支持的命令参数

  • go get: 获取远程包 (如果是github源则需要提前安装git工具,google项目源则需要安装hg工具)
  • go run: 直接运行程序
  • go build: 测试编译,检查是否有编译错误
  • go fmt: 格式化源码(部分IDE会自动调用)
  • go install: 编译包文件并编译整个程序
  • go test: 运行以*_test.go结尾的测试文件
  • go doc: 查看文档,通过 godoc -http=:8000则可开启本地一个在线文档服务http://127.0.0.1:8000方式即可打开。与官方网站文档一摸一样

Go Hello world!

// 单行注释
/*


注释
*/
// 当定义的为入口文件时,则该包名为main,否则可自定义取一个有意义的合法标识符名称
// 这样别人在导入你定义的模块时,可以使用该名称,如下面的fmt
package main 

// 导入内置包
import "fmt"
/*
也可以一次性导入多个包,类似python从一个模块导入多个方法
import (
    "fmt"
    "os"
)
注意每个包之间是以换行作为分割,不需要使用逗号

导入时可以定义别名
如把fmt改为类型C头文件stdio.h
import stdio "fmt"

使用时,比如下面的打印方法就变成
stdio.Println("Hello world!")

也可以不使用stdio,直接调用Println,这种方式以这种方式导入
import . "fmt"
然后就可以直接调用fmt里面的方法
Println("Hello world!")

这种方法尽量不要使用,避免方法被覆盖,应该显示的调用

*/
// 程序入口为main函数,必须为main才能执行
func main(){
    fmt.Println("Hello world!")  // Println表示打印后自动换行
}

关于方法输出

  • Go没有显示的private或public关键字用于定义共享或私有方法和属性,它是通过标识符来界定的。
  • 标识符首字母大写,则可以被其它包导入时调用,如果首字母小写,则其它包导入该包时,则不能使用该名称定义的
    变量或方法

猜你喜欢

转载自www.cnblogs.com/zengchunyun/p/9131308.html