Go语言基础知识有哪些
这篇文章将为大家详细讲解有关Go语言基础知识有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都创新互联公司专注于企业全网营销推广、网站重做改版、磁县网站定制设计、自适应品牌网站建设、H5技术、商城开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为磁县等各大城市提供网站开发制作服务。
1. Go 程序的基本结构
下面是一个Go 程序的基本结构,包含(包声明,引入包,函数等)
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
2. 数据类型
go内建基本数据类型包括基本数据类型和高级数据类型
1. 基本数据类型
布尔类型(bool)
数值类型
整数类型(byte,rune,int/uint,int8/uint8,int16/uint16,int32/uint32,int64/uint64)
浮点类型(float32,float64)
复数类型(complex64,complex128)
字符串类型
string Go的字符串是由单个字节连接起来的。使用UTF-8编码标识Unicode文本。
2. 高级数据类型
数组(array)
切片(slice)
字典(map)
通道(channel)
函数(function)
结构体(function)
接口(interface)
指针(*Xxx,Pointer,uintptr)
如果按照底层结构划分,值类型包括(所有基本数据类型,数组,结构体),引用类型包括(slice,map,channel,function,interface,指针)
3. 变量&常量
1. 变量名由字母、数字、下划线组成,其中首个字母不能为数字,例:var name string
2. 声明
a.指定变量类型,声明后若不赋值,使用默认值。
var name string
name = "李四"
b.根据值自行判定变量类型。
var name = "李四"
c.简短形式,省略var, 注意
age := 10
注意
(:=)是使用变量的首选形式
(:=)只能被用在函数体内,而不可以用于全局变量的声明与赋值。
(:=)左侧的变量不应该是已经声明过的,否则会导致编译错误。
3. 常量的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
1. 常量声明:const b string = "abc"
2. iota,特殊常量
const (
a = iota
b
c
)
1. 代表连续的,无类型的整数常量,
2. 以const开始的常量声明语句为单位,
3. 从0开始,没赋给一个常量就递增一次
4. 一旦跨越以const开始的常量声明语句就归0
4. 运算符
1. 算术运算符,a + b ,包括(+,-,*,/,%,++,--)
2. 关系运算符,返回True或False ,a == b ,包括(==,!=,>,<,>=,<=)
3. 逻辑运算符,返回True或False ,包括(&&,||,!)
4. 地址运算符
& : 返回变量存储地址 (&originalValue)
* :指针变量 (*pointerValue)
5. 接收运算符,用于接收通道的数据或者给将数据加入通道(intChan<-1, <-intChan)
5. 错误处理
1. error 接口,(errors.New(value),fmt.Error(),自定义错误类型)
func Divide(a, b float64) (result float64, err error) { if b == 0 {
result = 0.0
err = errors.New("runtime error: divide by zero") return
} else {
result = a / b
err = nil
}
return
}
2. panic 函数,panic(value) 与error 接口联用,
var user = os.Getenv("USER")
if user == "" {
panic("The USER environment variable is not set.")
}
3. recover 函数,与defer语句联用,
func TestB() (err error) { defer func() { //在发生异常时,设置恢复if x := recover(); x != nil { err = fmt.Errorf("internal error: %v", x) } }() panic("func TestB(): panic") }
6. Go 基本命令
go build 命令主要是用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。
go run hello.go
go get 命令主要是用来动态获取远程代码包的。
go get github.com/go-sql-driver/MySQL
go run 命令主要用于编译并运行Go程序。
go run hello.go
go test 命令,会自动读取源码目录下面名为*_test.go的文件,生成并运行测试用的可执行文件。
关于“Go语言基础知识有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
本文名称:Go语言基础知识有哪些
地址分享:http://scyanting.com/article/geishe.html