Go编程入门教程

来源:互联网 发布:windows arp命令事例 编辑:程序博客网 时间:2024/06/04 23:19

什么是Go?

go是一门并发支持垃圾回收编译型系统编程语。旨在创造一门具有在静态编译语言的高性能和动态语言的高并发之间拥有良好平衡点的一门编程语言。
官方网站:https://golang.org

Go特点

  • 类型安全和内存安全
  • 以非常直观和极低代交的方案执行高并发
  • 高效的垃圾回收
  • 快速编译
  • UTF-8支持

go的存在价值

Go在谷歌:以软件工程为目的的语言设计

安装

下载链接:
http://www.golangtc.com/download
安装比较简单,直接点击下一步就可
这里写图片描述
安装好之后,软件会自动帮我们配置path环境。
这里写图片描述
安装okey以后,可以通过再命令提示符中输入go env 查看go语言编译参数
这里写图片描述

GOPATH设置

goPath有什么用呢?
GOPATH是一些目录,用于go来查找包的目录列表. 使用import “包名” 的时候, 如果在 GOROOT(安装目录)里找不到, 应该会转向到你的GOPATH里去寻找。
GOPATH可以有效避免第三方包污染了核心go的pkg和src文件。
$GOPATH 目录约定有三个子目录:
- src 存放源代码(比如:.go .c .h .s等)
- pkg 编译后生成的文件(比如:.a)
- bin 编译后生成的可执行文件
通过set gopath 来设置path命名
这里写图片描述
当然在windows下也可以通过环境变量来设置
这里写图片描述

go常用命令

go get
获取远程包
go run
编译列出的文件,并生成可执行文件然后执行。注意只能用于main包,否则会出现go run: cannot run non-main package的错误。
go bulid
编译包,如果是main包则在当前目录生成可执行文件,其他包不会生成.a文件;
go fmt
格式化源码
go install
编译包,同时复制结果到GOPATH/binGOPATH/pkg等对应目录下;
go test
运行测试文件
go doc
查看文档

帮助文档的使用

通过go doc+相应的命令
这里写图片描述
直接访问官方网站:https://golang.org
如果网速比较忙,可以通过在命令行输入go doc -http=:8081
这样,就可以在本地访问
这里写图片描述

go语言中数据类型

  • 布尔 bool
    长度:1个字节
    取值范围:true、false
    不可以使用数字代表true、false
  • 整型 int/uint
    平台如果是32位则为32,平台如果是64位,则为64位,由平台所定。
    可以通过数字限定整型范围如下
    int8/uint8代表8位整型
    范围-128~127/0~255
    当然还有int16/uint16、int32/uint32、int64/uint64
  • 字符型byte(uint8别名)
  • 浮点型float32/float64
    长度4/8字节
  • 复数:complex64/complex128
    长度8/16字节
  • 其它类型
    array、struct、string
  • 引用类型
    slice、map、chan
  • 接口类型
    inteface
  • 函数类型func

变量的声明

变量声明格式
var <变量名> <变量类型>
变量的赋值
<变量名>=<表达式>
在声明的同时赋值
var <变量名> [<变量类型>]=<表达式>

var a int8 //变量声明a=16 //变量赋值var b int =15 //同时进行变量声明和赋值var c int =15 //同时进行变量声明和赋值d:=15//变量声明和赋值最简写法

实例

在D:\goProject下目录结构
——-bin
——-src
————–main
———————index.go
———————trace.go
——-pkg
//index.go文件如下

//命名当前程序的包名package main//通过import导入其他包import "trace"// 定义常量func main(){    hello()    trace.Show("hello,world")}//首字母小写,表示外部不能调用func hello(){    trace.Show("hello,lidequan")}

//trace.go

package traceimport "fmt"//首字母大写,表示外部可以调用func Show(str string) {    fmt.Println("a.go is package mufunc.")    fmt.Println(str)}

在命令提示中输入go install命名
这里写图片描述
可以看到bin目录下生成exe可执行文件,在pkg下生成包文件
如果想直接运行,也可以通过go run +index.go
这里写图片描述

注意事项

1.每个子目录中只能存在一个package,否则编译时会报错

大小写问题

在go语言中,使用大小写来决定常量、变量、类型、接口、结构或是函数是否可以被外部所调用。如函数名首字母小写即为private,外部不可以调用,首字母大写即为public,外部可以调用。

1 0