Go
Go 语言的知识整理
Fe_cow丿
头发是比青春更容易流失的东西,不要等失去了才想着去珍惜!
展开
-
Go 语言 协程和管道讲解
Go 语言 协程和管道讲解一、进程和线程基本说明:进程是程序在操作系统中一次执行过程,是系统进行资源分配和调度的基本单位;线程是进程的一个执行实例,是程序最小单元,它是比进程更小的能独立运行的基本单位;一个进程可创建和销毁多个线程,同一个进程的多个线程可以并发执行;一个程序至少有一个进程,一个进程至少有一个线程;举个栗子:使用的迅雷客户端,打开迅雷就是开启了一个进程,而下载多...原创 2020-02-25 13:56:09 · 1474 阅读 · 1 评论 -
Go 语言 序列化、反序列化的使用
Go 语言 序列化、反序列化的使用一、结构体的操作:1. 结构体序列化:package mainimport ( "encoding/json" "fmt")// 定义一个结构体type Monster struct { Name string Age int Birthday string Sal float64}// 演示结构体进行序列化func test...原创 2020-02-24 13:05:52 · 1252 阅读 · 0 评论 -
Go 语言 文件操作
Go 语言 文件操作一、基本介绍:文件在程序中是以流的形式来操作的。流:数据在数据源(文件)和程序(内存)之间经历的路径。输入流(读文件):数据从数据源(文件)到程序(内存)的路径。输出流(写文件):数据从程序(内存)到数据源(文件)的路径。二、打开文件、关闭文件:使用案例:package mainimport ( "fmt" "os")func main () {...原创 2020-02-23 19:24:36 · 432 阅读 · 0 评论 -
Go 语言 map的使用
Go 语言 map的使用一、map 基本介绍:map 是 key-value 数据结构,又称为字段或者关联数组。(类似Python中的字典)基本语法:var map 变量名 map[keyType]valueType通常key的类型为:int,string,也可以为bool、数字、指针、channel、接口、结构体、数组;通常value的类型为:数字(整数、浮点数)、strin...原创 2020-02-07 19:19:46 · 623 阅读 · 0 评论 -
Go 语言 二维数组的使用
Go 语言 二维数组的使用一、二维数组快速入门:入门案例:0 0 0 0 0 00 0 1 0 0 00 2 0 3 0 00 0 0 0 0 0代码演示:package mainimport "fmt"func main() { // 二维数组的入门案例 /* 0 0 0 0 0 0 0 0 1 0 0 0 0 2 0 3 0 0 0 0 0 0 0 0...原创 2020-02-07 14:19:56 · 1903 阅读 · 0 评论 -
Go 语言 切片的使用
Go 语言 切片的使用一、切片的基本介绍:切片(slice)是数组的一个引用,因此切片是引用类型。在传递时,遵守引用传递机制。切片的使用和数组相似:比如:遍历切片、访问切片的元素、求切片的长度等等;切片是一个可以动态变化的数组。切片定义的基本语法:var 切片名 []类型比如:var sliceName []int定义切片名为sliceName 类型为...原创 2020-02-02 13:39:16 · 395 阅读 · 0 评论 -
Go 语言 数组的使用
Go 语言 数组的使用一、数组的介绍:数组可以存放多个同一类型的数据。数组也是一种数据类型,在Go 中,数组是值类型。举个简单栗子:package mainimport "fmt"func main() { // 数组的快速使用 // 1. 定义一个数组 var array [6]float64 // 2.给数组每个元素赋值, 元素下标是从0开始的 array[0] =...原创 2020-02-01 13:32:13 · 328 阅读 · 0 评论 -
Go 语言 错误处理机制
Go 语言 错误处理机制1.基本使用:Golang 没有结构化异常,使用panic 抛出错误,recover 捕获错误。异常的使用场景简单描述:Go 中可以抛出一个panic的异常,然后再defer中通过recover捕获这个异常,然后正常处理。举个程序异常的栗子:package mainimport ( "fmt")func main() { i := 100 j :=...原创 2020-01-30 20:17:43 · 555 阅读 · 0 评论 -
Go 语言时间和日期函数的使用
Go 语言时间和日期函数的使用时间和日期相关函数,需导入 time 包。1.获取当前时间:package mainimport ( "fmt" "time")func main() { // 获取当前时间 now := time.Now() fmt.Printf("当前时间为:%v\n类型为:%T", now, now)}// 输出结果:当前时间为:2020-01-...原创 2020-01-20 15:06:57 · 537 阅读 · 0 评论 -
Go 语言 常用字符串函数的使用
Go 语言 常用字符串函数的使用1.统计字符串的长度,按字节len(str):func main() {// 统计字符串的长度, 按字节统计len(str)// golang 的编码统一为 utf-8, 一个英文占1个字节、一个汉字占3个字节 var myStr string = "hello北京" fmt.Println("mystr的长度为:", len(myStr))}//...原创 2020-01-20 11:01:28 · 665 阅读 · 1 评论 -
Go 语言 函数defer的使用
Go 语言 函数defer的使用一、基本概念:在函数中,经常需要创建资源(比如:数据库的连接、文件、锁等),为了在函数执行完毕后,及时释放资源,go 提供了defer(延时机制)。举个栗子:package mainimport "fmt"// 当执行到defer 时, 暂时不会执行, 会将defer 后面的语句 压入到 栈中(特点:先进后出)// 当函数执行完毕后, 在从 栈中...原创 2020-01-18 18:52:40 · 276 阅读 · 0 评论 -
Go 语言 函数、init函数、匿名函数的使用
Go 语言 函数、init函数、匿名函数的使用一、函数:1.基本概念:完成某一个功能的程序指令(语句)的集合,称为函数。在 go 中,函数分为:自定义函数,系统函数。函数基本语法:func 函数名 (形参列表) (返回值列表) { 执行语句… return 返回值列表}简单栗子:将简单的计算器功能封装成一个函数;package mainimport...原创 2020-01-18 15:21:22 · 359 阅读 · 0 评论 -
Go 语言 for 循环、break、continue 讲解
Go 语言 for 循环、break、continue 讲解一、for 循环控制:1.基本概念:基本语法:for 循环变量初始化;循环条件;循环变量迭代 { 循环操作(语句)}简单使用:package mainimport ( "fmt")func main(){ for i := 1; i <=6; i++{ fmt.Println("输出结果:...原创 2020-01-16 17:17:29 · 2304 阅读 · 0 评论 -
Go 语言 switch 的使用
Go 语言 switch 的使用一、基本介绍:switch 语句 基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上到下执行,直到匹配为止。匹配项后面不需要加 break。基本语法:switch 表达式 { case 表达式1,表达式2,…: 语句块1 case 表达式3,表达式4: 语句块2 default: 语句块3}switc...原创 2020-01-15 18:48:37 · 716 阅读 · 0 评论 -
Go 语言 进制的转换、位运算符的使用
GO 语言 进制的转换、位运算符的使用二进制:0,1,满 2 进 1;在 go 中,不能直接使用 二进制来表示一个整数。十进制:0-9,满 10 进 1;八进制:0-7,满 8 进 1。以数字 0 开头表示;十六进制:0-9 及 A-F,满 16 进 1。以 0x 或 0X 开头表示;A-F 不区分大小写举个栗子:package mainimport (...原创 2020-01-09 10:20:35 · 3754 阅读 · 5 评论 -
Go 语言 fmt.Scanln() 与 fmt.Scanf() 包使用
Go 语言 fmt.Scanln() 与 fmt.Scanf() 包使用需要接收用户输入的数据,就可使用键盘输入语句来获取。下面讲述两种方法的使用:fmt.Scanln()的使用:先声明需要的变量package mainimport ( "fmt")func main(){ // 需求: 从控制台接收用户信息【姓名, 年龄, 薪水, 是否拿到offer】 var nam...原创 2020-01-08 10:57:58 · 14180 阅读 · 0 评论 -
Go 语言 运算符
Go 语言 运算符运算符是一种特殊的符号,用表示数据的运算、赋值、比较等。一、算术运算符:算数运算符是对数值类型的变量进行运算的。运算符运算范例结果+正号+33-负号-4-4+加1+12-减2-11*乘2*36/除5/51%取模(取余)7%52++自增a=1 a++(a=a+1)...原创 2020-01-07 23:36:56 · 1042 阅读 · 0 评论 -
Go 语言 标识符的基本使用
Go 语言 标识符的基本使用一、标识符概念:Go 对各种变量、方法、函数等名命时使用的字符序列(字符串)称为标识符;自己可以起名的地方都可叫标识符;二、标识符的命名规则:由 26 个 英文字母大小写,0-9,_ 组成;数字不可以开头;var num int // 正确写法var 3num int // 错误写法go 中严格区分大小写;var num i...原创 2020-01-05 14:18:49 · 585 阅读 · 0 评论 -
Go 语言 值类型和引用类型的理解
值类型和引用类型讲解一、值类型:值类型包括,基本数据类型 int系列、float系列、bool、string、数组和结构体;值类型:变量直接存储值,内存通常在栈中分配;var num = 100如图所示:二、引用类型:引用类型包括,指针、slice切片、map、管道 chan、interface等;引用类型:变量存储一个地址,地址对应的空间才真正存储数据(值),内存通常在堆上分...原创 2020-01-05 12:32:15 · 447 阅读 · 0 评论 -
Go 语言 指针的使用
Go 语言 指针的使用一、基本介绍:基本数据类型,变量存的就是值,也叫值变量;获取变量的地址,用**&**;var in int ,获取 i 内存地址:&ipackage mainimport ( "fmt" _"strconv")// go 中 指针类型func main(){ // 基本数据类型内存布局 var i int = 66 /...原创 2020-01-05 11:37:03 · 310 阅读 · 0 评论 -
Go 基本数据类型相互转换
Go 基本数据类型讲解一、基本数据类型默认值:数据类型默认值整型0浮点型0字符串“”布尔型false在 go中,数据类型都有一个默认值,也叫零值。举个栗子:package mainimport ( "fmt")func main(){ var a int // 0 var b float64 // 0.00000 v...原创 2020-01-04 10:17:27 · 665 阅读 · 0 评论 -
Go 语言 Println 与 Printf 区别
Go 语言 Println 与 Printf 区别首先 Println 跟 Printf 都是fmt包中的公共方法。Println:打印字符串、变量;Printf:打印需要格式化的字符串,可以输出字符串类型的变量;不可以输出整型变量和整型;简单理解,当需要格式化输出信息时,一般选择Printf,其余使用Println。一、通常情况:%v:默认方式打印变量的值;%T:打印变量的类型;...原创 2020-01-02 15:07:31 · 2415 阅读 · 0 评论 -
Go 语言 数据类型的介绍
Go 语言 数据类型的介绍一、整数类型:1. int 有符号:类型有无符号占用存储空间表数范围int8有1字节-128~127int16有2字节-2^15 ~ 2^15 -1int32有4字节-2^31 ~ 2^31 -1int64有8字节-2^63 ~ 2^63 -1举个栗子:说明超出范围会报错package mai...原创 2020-01-02 11:10:39 · 261 阅读 · 0 评论 -
Go 语言变量的使用
Go 语言变量变量相当于在内存中一个数据存储空间的表示,通过变量名可以访问到变量(值)。简单举个栗子:package mainimport "fmt"func main(){ // 定义变量 也叫声明变量 var i int // 给变量赋值 i = 10 // 使用变量 fmt.Println("i=", i)}// 输出结果:i= 10一、Go 变量 使用的...原创 2020-01-01 21:29:07 · 264 阅读 · 0 评论 -
Go 语言转义字符、注释的使用
Go 转义字符、注释的使用:一、Go 转义字符:制表位( \t ):实现对齐的功能(tab键)package mainimport "fmt"func main(){ fmt.Println("hello\tworld!")}// 输出结果:hello world!换行符( \n):package mainimport "fmt"func main...原创 2020-01-01 19:44:51 · 1618 阅读 · 1 评论 -
Go 语言基本架构
Go 基本架构一、Go 基本架构:package mainimport "fmt"func main() { fmt.Println("hello, world")}go 文件的后缀是 .go ;package main:表示文件所在的包是main;每个Go应用程序都包含一个为main的包;所有包名都应该使用小写字母;import “fmt”:...原创 2020-01-01 19:15:42 · 725 阅读 · 0 评论