go
go语言
zzti_bsj
没有可以抵达的巅峰
展开
-
go - 接口
go 接口有点面向对象的意思,只不过所谓的"类"是结构体;对于一个接口,实例化一个结构体使用new(Struct_type)实例化一个结构体phone = new(App)示例package mainimport ( "fmt")type Phone interface { call()}type NokiaPhone struct {}func (nokiaPhone NokiaPhone) call() { fmt.Println("I am原创 2021-01-15 15:42:56 · 65 阅读 · 0 评论 -
go - 递归
递归递归请参考 菜鸟教程 - go 递归递归并不是我的重点,熟练函数的定义方式才是。如下这段函数的声明方式需要这样被理解:在Factorial函数中,在使用result变量之前在声明函数的同时声明了这个变量,如果在函数声明的同时不声明这个变量,难么就会出现undefined: result错误。package mainimport "fmt"func Factorial(n uint64)(result uint64) { if (n > 0) { resul原创 2021-01-15 15:21:27 · 232 阅读 · 0 评论 -
go - map
go map定义map1. 声明式var map_name map[key_data_type]value_data_type2. make函数map_name := make(map[key_data_type]value_data_type)delete()删除map中的key-value对delete(map_name,key)原创 2021-01-15 14:58:04 · 63 阅读 · 0 评论 -
go - range
go rangego内置的关键字,用来在for循环中迭代可迭代的结构;使用range求slice的和numbers := [10]intsum := 0for _, num := range numbers{ sum += num}// for index , value range <数组或切片> {code detail}// for key : value range <map> {code detail}range 枚举unicode字符//ra原创 2021-01-15 14:52:35 · 92 阅读 · 0 评论 -
go - 切片
切片go的切片是对数组的抽象1. make() cap() len()make()创建切片cap() 切片的容量len() 切片的长度// 创建一个长度为5的切片a := make([]int, 5)// 获取切片的容量和长度cap_a := cap(a)len_a := len(a)使用切片的时候,类似于python;且切片是左闭右开的区间方式;2. append() copy()append() 向切片中添加元素,可以一次同时添加一个或者若干个。copy() 从一个切原创 2021-01-15 14:45:44 · 80 阅读 · 0 评论 -
go - 结构体
结构体结构体和结构体指针与c语言类似结构体访问成员使用.结构体指针访问成员使用.原创 2021-01-15 14:06:51 · 76 阅读 · 0 评论 -
go - 指针
指针和c语言的指针是一样的。指针数组指向指针的指针向函数传递指针参数原创 2021-01-15 13:55:19 · 58 阅读 · 0 评论 -
go - 数组
数组定义数组var <数组名> [[数组大小]] <类型>;初始化数组//第一种初始化方式,数组中的元素个数不能够长于规定的个数var balance = [3]int{1,2,3}//第二种初始化方式,数组中的元素个数可以动态增加// 疑问:会动态减小吗?还是空间一旦增加之后就不会再缩小!var balance = [...]int{1,2,3,4,5,6}取数组元素balance[4] = 66多维数组通过数组传参...原创 2021-01-15 13:42:24 · 63 阅读 · 0 评论 -
go - 基础语法(运算符、条件语句、函数、循环语句)
运算符加减乘除自增自减与或非,逻辑与或非移位运算符、比较运算符运算符没有什么特别的,与c语言的相同,基本逻辑都是一样的;我特意试了试 /,这个代表整除,比如a = 21; b = 10; c := a / b,c的结果是2;条件语句与c语言类似,但是go比较具有灵活性,判断条件可以不加(),这一点与python类似;ifif…else…if 嵌套switch语句select语句1. select和switch对比select类似于switch,但是select中的每一个c原创 2021-01-15 13:29:10 · 193 阅读 · 0 评论 -
go - 常量
常量的类型布尔型数字型(整数、浮点数、复数)字符型声明常量1. 自动类型检查const <常量名1> = <value_1>2. 声明变量的同时声明类型const <常量名1> [常量类型] = <value_1>const <常量名1>,<常量名2> [常量类型] = <value_1>,<value_2>1. 枚举const ( one = 1 two = 2原创 2021-01-15 09:51:35 · 74 阅读 · 0 评论 -
go - 变量
go语言的基础语法任何一门语言都由基础语法,无论是自然语言还是编程语言,这是语言具有的共性;分隔符:像python一样不提倡使用分隔符,一行以毕之注释:同c语言的注释标识符:基本规则同c语言的命名规则字符串连接 +标识符:拥有部分go独有的标识符一门语言的基础语法,并不是讲述实现该语言的细节,如何声明变量、如何定义函数;语法是做这些事情的前提;...原创 2021-01-14 23:13:56 · 104 阅读 · 0 评论 -
go - 程序结构
声明包java和go都使用package来声明包,java中使用package的目的是:避免命名冲突、实现访问控制、提供类的定位和搜索;比如在java的文件one.java和two.java中分别使用package来声明自己所在包的路径,用于对其他调用该类的地方提供唯一的访问路径;在java中,包具有访问权限,某个调用具有访问某个包的权限时才可以访问该包中类在go中,包的声明依旧使用package引入包同时再以java为例,假设存在两个文件,在one.java通过使用import来定位two.原创 2021-01-14 22:56:08 · 109 阅读 · 0 评论 -
go - hello world!
安装go语言环境安装方式(如果不行,按菜鸟教程步骤安装):yum search goyum install ***菜鸟教程安装方式:go环境安装hello worldpackage mainimport "fmt"// 1. func 关键字// 2. return_value 函数返回值,无返回值则省略// 3. func_name 函数名以及参数func main(){ fmt.Println("hello!")}格式化输出的引入 import "fmt"原创 2021-01-14 16:56:55 · 61 阅读 · 0 评论