首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Golang 入门系列(三)Go语言基础知识汇总

前面已经了 Go 环境的配置和初学Go时,容易遇到的坑,大家可以请查看前面的文章 https://www.cnblogs.com/zhangweizhong/category/1275863.html,

在这篇文章中,下面为初学者汇总下Go语言基础知识:

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

5. 错误处理

1. error 接口,(errors.New(value),fmt.Error(),自定义错误类型)

func Divide(a, b float64) (result float64, err error) {ifb =={ result=0.0err= errors.New("runtime error: divide by zero")return}else{ result= a /b err=nil }

return

}

2. panic 函数,panic(value) 与error 接口联用,

varuser = os.Getenv("USER")

ifuser ==""{ panic("The USER environment variable is not set.") }

3. recover 函数,与defer语句联用,

func TestB() (err error) { defer func() {//在发生异常时,设置恢复ifx := 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的文件,生成并运行测试用的可执行文件。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180911G1N2FG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券