GO基础深入总结

简介:

GO的关键字:
包管理:package、import
变量:var、map、struct、interface、const、type
函数:func、return、defer
循环:if、else、switch、case、fallthought、default、for、break、continue、goto、range
并发:go、chan、select

GO的变量类型:
(1)整型
int(默认)、int8、int16、int32、int64、byte
uint、uint8、uint16、uint32、uint64
(2)浮点型:float32、float64(默认)
(3)复数:complex64、complex128(默认)
(4)数组:值拷贝、不同长度和不同类型的数组都是一个新类型
(5)切片:引用
(6)map:引用
(7)复合类型:interface、struct

GO的内置函数:append、cap、new、make、copy、len、delete、panic、recover
(1)append:向切片中添加一个或多个值

// 注意:有个潜在的问题,看下面的代码
package main

import "fmt"

func main() {

a := []int{1,2,3}
b := append(a, 1)
c := append(b, 2)
d := append(b, 3)
fmt.Println(c, d)

}
输出结果:[1 2 3 1 3] [1 2 3 1 3]
(2)cap:计算数组和切片已分配的内存空间

package main

import "fmt"

func main() {

a := []int{1,2,3}
b := make([]int, 0, 100)
c := [3]int{}
fmt.Println(cap(a), cap(b), cap(c))

}
输出:3 100 3
(3)new:传入一个结构体名,返回它的一个实例对象的一个引用
(4)make:为切片、map分配空间

切片:

make([]int, 3)
make([]int, 3, 100)

map:

make(map[int]int)  

(5)copy:为切片进行值拷贝

package main

import "fmt"

func main() {

a := []int{}
b := []int{5}
c := []int{5,6,7,8}
copy(a, []int{1,2})
copy(b, []int{1,2,3})
copy(c, []int{1,2,3})
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)

}
输出:
[]
[1]
[1 2 3 8]
(6)len:计算字符串、数组、切片、map当前已使用的空间个数
(7)delete:删除map中的一个key
(8)panic:引起恐慌、会从当前函数一直往掉用该函数的那个函数扩散,直到遇到recover或者是扩散到main函数中
(9)recover:接收恐慌

目录
相关文章
|
存储 安全 Java
极速Go语言入门(超全超详细)-基础篇
极速Go语言入门(超全超详细)-基础篇
48500 9
极速Go语言入门(超全超详细)-基础篇
|
存储 安全 Java
极速Go语言入门(超全超详细)-基础篇2
极速Go语言入门(超全超详细)-基础篇2
极速Go语言入门(超全超详细)-基础篇2
|
边缘计算 Cloud Native BI
[Go 夜读 第 139 期] Go 语言 Excelize 开源基础库介绍
Excelize 是 Go 语言编写的用于操作电子表格文档的基础库,本期分享将对 Excelize 的技术原理、部分内部模块设计和实现展开讨论。
138 2
[Go 夜读 第 139 期] Go 语言 Excelize 开源基础库介绍
|
存储 缓存 Go
Go-并发编程基础(goroutine、channel、select等)
Go-并发编程基础(goroutine、channel、select等)
117 0
Go-并发编程基础(goroutine、channel、select等)
|
安全 Go API
Go 并发编程基础:什么是上下文(中)
在开发过程中,也有这个上下文(Context)的概念,而且上下文也必不可少,缺少上下文,就不能获取完整的程序信息。那么什么是程序中的上下文呢?简单来说,就是在 API 之间或者函数调用之间,除了业务参数信息之外的额外信息。比如,服务器接收到客户端的 HTTP 请求之后,可以把客户端的 IP 地址和端口、客户端的身份信息、请求接收的时间、Trace ID 等信息放入到上下文中,这个上下文可以在后端的方法调用中传递。
|
Java Go API
Go语言学习过程中,你需要知道的Java与Go的基础对比
Go语言学习过程中,你需要知道的Java与Go的基础对比
166 1
Go语言学习过程中,你需要知道的Java与Go的基础对比
|
数据库连接 Go
Go基础:延迟调用defer、异常处理
Go基础:延迟调用defer、异常处理
590 1
Go基础:延迟调用defer、异常处理
|
Linux Go Windows
【Go基础】编译、变量、常量、基本数据类型、字符串
编译、变量、常量、基本数据类型、字符串
123 0
|
存储 SQL Go
Go 并发编程基础:什么是上下文(下)
在开发过程中,也有这个上下文(Context)的概念,而且上下文也必不可少,缺少上下文,就不能获取完整的程序信息。那么什么是程序中的上下文呢?简单来说,就是在 API 之间或者函数调用之间,除了业务参数信息之外的额外信息。比如,服务器接收到客户端的 HTTP 请求之后,可以把客户端的 IP 地址和端口、客户端的身份信息、请求接收的时间、Trace ID 等信息放入到上下文中,这个上下文可以在后端的方法调用中传递。
Go 并发编程基础:什么是上下文(上)
在开发过程中,也有这个上下文(Context)的概念,而且上下文也必不可少,缺少上下文,就不能获取完整的程序信息。那么什么是程序中的上下文呢?简单来说,就是在 API 之间或者函数调用之间,除了业务参数信息之外的额外信息。比如,服务器接收到客户端的 HTTP 请求之后,可以把客户端的 IP 地址和端口、客户端的身份信息、请求接收的时间、Trace ID 等信息放入到上下文中,这个上下文可以在后端的方法调用中传递。