Go语言学习笔记 package】的更多相关文章

加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 strings import "strings" strings包实现了用于操作字符的简单函数. strings.Index("suoning", "n") //3(子串第一次出现的位置,不存在则返回-1) strings.LastIndex("suoning", "n") //5(子串最后一次出现的位置,不存在则返回-1…
Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. Go语言中Map的写法比Java简单些,比Python繁琐. 定义Map var x map[string]string x : = make(map[string]string) 写法上有些奇怪,map为关键字,右侧中括号内部为key的类型,中括号外部为value的类型.一般情况下使用逗号或者冒号…
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使用:=分割,而在python中使用in分割.而python中range是函数,不是关键字. package main import "fmt" func main() { nums := []int {10, 20, 30} sum := 0 for i, num := range num…
Go语言学习笔记十: 结构体 Go语言的结构体语法和C语言类似.而结构体这个概念就类似高级语言Java中的类. 结构体定义 结构体有两个关键字type和struct,中间夹着一个结构体名称.大括号里面写上所有的成员变量,并且指定这些变量的类型.访问这些内部成员时使用.符号.注意是结构体创建的变量,才能用点访问内部成员. 不是直接用结构体访问. package main import "fmt" type Book struct { name string price int } fun…
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这个内存地址可能保存者一个基本数值. 指针变量也是有类型的.它需要知道自己保存的内存地址指向数值的类型,因为不同的数值类型占用的空间大小是不同的. 在指针中有两个重要的符号需要了解: &和. 其中&是用于获取普通变量的地址,而是获取内存地址指向的数值.看起来就是一对反向操作. 另外在声明指针时也…
Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: package main import "fmt" func main() { var a int = 1 if a < 2 { fmt.Printf("a < 2\n" ) } fmt.Printf("a = %d\n", a) } if.…
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变量 使用var关键字来定义变量.例如: var x int = 100; 顺便说一句,go语言一行代码可以不写分号结束符. 也分单行注释//和多行注释/* */. 其实也可以不写类型,go语言会推测出数据类型.例如: x := 100 写法看上去更简单了.还可以写成 var x = 200 可以一次…
Go语言学习笔记一: Hello World 听说Go语言又快又简单.即具有C语言的运行速度,又具有Python语言的开发效率,不知道真的假的.所以特意来学学这门"老"语言. 下载Go 先从简单的Hello world开始吧.首先从官网(https://golang.org/)下载Go. 我下载了windows版本的go1.9.4.windows-amd64.msi文件(91M).公司网速好快,大约花了3秒就下载完成(实际上我连下载过程都没有看到). 顺便说一下,go语言的吉祥物(ma…
Go语言学习笔记这一堆主要是<Go语言编程>(人民邮电出版社)的读书笔记.中间会穿插一些零碎的点,比如源码学习之类的.大概就是这样吧. 1. 顺序编程 1.1 变量 变量的声明: var 变量名 类型 var v1 int 也可以把若干变量的声明用大括号括起来 var { v1 int v2 string } 变量初始化: 变量的初始化可以用如下的方法: var v1 int = 10 var v2 = 10 v3 := 10 这三种方法的效果大体上是一样的.需要注意的有:第三种方法不能用于声…
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出现,位于文件的最前面和最后面. 2.<head></head>&<body></body> 表示文件头和文件主体,成对出现. (1)文件头是规定该文件标题和一些属性的,例如标题.编码方式.URL等,不出现在网页中,若为无需提供相关信息可省略. (2)文件…
C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法去做事反而能成功.======================计算机=计算机硬件+计算机软件(操作系统.应用软件.硬件驱动程序.)======================计算机的目的:实现人的智能.程序:是指为了实现特定的目标或解决某个具体的问题而.用计算机语言编写的一段指令集合.什么是软件:=…
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执行某些操作.或解决某个问题而编写的一系列有序指令的集合:(就是某段有序指令的集合:) 指令:上级下达给我的需要执行的命令. 算法:是一个定义明确的计算过程.就是一系列的计算步骤.算法就是.完成某个任务的一系列步骤. 好用的C和C++的开发工具:Code:Blocks <专业的C和C++开发工具>程…
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var a = 10` `a := 10` (推荐写法) 注意::= 左侧的变量不能是被声明过的 4.定义常量:const关键字定义常量 5.以大写字母开头的常量在包外可见 6.Go语言内置的数据类型: 布尔型 bool 整形 int8.int16 浮点型 float32.64 复数 complex64 字…
ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Existentials GADTs {-# LANGUAGE GADTs #-} 广义抽象代数类型专用语言扩展 Haskell语言学习笔记(74)GADTs OverloadedStrings {-# LANGUAGE OverloadedStrings #-} 用于重载字符串字面量类型的语言扩展 H…
Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 切片可以使用make函数来定义,也可以像变量声明一样创建个未指定大小的切片. var x []int = make([]int, 3); y := make([]int, 3); z := []int {1, 2, 3}; make有三个参数,第一个是类型(数组类型,所以带方括号),第二个是长度l…
Go语言学习笔记八: 数组 数组地球人都知道.所以只说说Go语言的特殊(奇葩)写法. 我一直在想一个人参与了两种语言的设计,但是最后两种语言的语法差异这么大.这是自己否定自己么,为什么不与之前统一一下. 声明数组 var variable_name [SIZE] variable_type 例子: var x [10] int 初始化数组 var x = [5] int {1, 2, 3, 4, 5} var y = [...] int {1, 2, 3, 4, 5} 初始化数组中 {} 中的元…
Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types] { 函数体 } 举个例子: /* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 }…
Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment { } // 类似while for condition { } // 和for(;;)一样 for { } 循环slice,map,数组,字符串还可以使用下面这种方式: for key, value := range oldMap { newMap[key] = value } break 语句…
Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 算术运算符 包括:+,-, *,/, %, ++, --. a := 1 b := 2 c c = a + b 关系运算符 包括:==, !=, >, <, >=, <= 逻辑运算符 包括:&&, ||, !…
Go语言学习笔记三: 常量 定义常量 常量就是在声明后不能再修改的量. const x int = 100 const y string = "abc" const z = "abc" 看上去与变量的定义差不多,就是把var变成了const关键字. 枚举 const ( Yellow = 1 Red = 2 Blue = 3 ) 特殊常量iota 这个iota非常奇葩,从0开始,每次使用一次就自动增加一.例如: const ( a = iota b = iota c…
属性定义的方式与字段类似,但包含的内容比较多. 属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值.这两个块也称访问器,分别用于get和set关键字定义,可以用于控制对属性的访问级别.可以忽略其中一个块来创建只读或只写属性.当然,这仅适用于外部代码,因为类中的其他代码可以访问这些块能访问的数据.还可以在访问器上包含可访问修饰符,例如使get块变成公共的,把set块设置成受保护的.属性至少要包含一个块,才是有效的(既不能读取也不能修改的属性没有任何用处). 属性的基本结构…
委托是一种可以把引用存储为函数的类型. 委托的声明非常类似于函数,但不带函数体,且要使用delegate关键字.委托的声明制定了一个返回类型和一个参数列表. 在定义了委托后,就可以声明该委托类型的变量. 接着把这个变量初始化为与委托有相同返回类型和参数列表的函数引用. 之后就可以使用委托变量调用这个函数,就想改变量是一个函数一样. /** * 创建人:haxianhe * 创建时间:2018/6/15 9:56:18 * 说明:delegate demo **/ using System; us…
C# 简介 变量和表达式 流程控制 3.1 布尔逻辑 3.2 goto语句 3.3 分支 3.4 循环 变量的更多内容 4.1 类型转换 4.2 复杂的变量类型 4.3 字符串的处理 函数 5.1 定义和使用函数 5.2 变量的作用域 5.3 Main()函数 5.4 结构函数 5.5 函数的重载 5.6 委托 调试和错误处理 面向对象编程简介 7.1 什么是面向对象编程 7.2 OOP技术 7.2.1 接口 7.2.2 继承 7.2.3 多态 7.2.4 对象之间的关系 7.2.5 运算符重载…
1 什么是.NET Framework .NET Framework 是Microsoft为开发应用程序而创建的一个富有革命性的新平台. 1.1 .NET Framework 的内容 .NET Framework主要包含一个非常大的代码库,可以在客户语言(如C#)中通过面向对象编程技术(OOP)来使用这些代码.这个库分为不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分.其目的是,不同的操作系统可以根据自己的特性,支持其中的部分或者全部模块.例如:通用类型系统(Common Typ…
C语言学习笔记11- 文件I/O  ..待编辑 文件操作(CRT.C++.WIN API.MFC)…
C语言学习笔记10-结构体.枚举.联合体    待传…
C语言学习笔记8-函数  ...待编辑 1.汇编看函数调用过程 2.函数调用过程图示:学好C这个是关键,要懂得原理 标准调用(_cdecl) 参数由右往左入栈,调用者平衡栈(即入多少参数后参数调用玩后需要平衡栈顶esp)! windows大部分API为__stdcall :参数由右往左入栈,被调用者平衡栈…
博主学习C语言是通过B站上的<郝斌C语言自学教程>,对于C语言初学者来说,我认为郝斌真的是在全网C语言学习课程中讲的最全面,到位的一个,这个不是真不是博主我吹他哈,大家可以去B站去看看,C语言这个大标签下,确实是郝斌老师的点击量最高,所以说呢,博主的C语言学习笔记都是基于郝斌老师课程上讲的知识结合度娘的总结和一些感悟. 首先,函数的格式是:     返回值类型 函数名(形参1,形参2,.....) { 函数体(代码 ~ ~) } 1.函数体就代码嘛,咱用的main()函数,{ 这里码的就是函数…
成员数组和指针是我们c语言中一个非常重要的知识点,记得以前在大学时老师一直要我们做这类的练习了,但是最的还是忘记了,今天来恶补一下.     单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如下.我觉得好多人对这段代码的理解还不够深入,所以写下了这篇文章. 为了方便你把代码copy过去编译和调试,我把代码列在下面:  代码如下 复制代码 #incl…
在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常规的数而使程序员误以为自己已给变量进行过初始化),这个“85”开头的数叫“填充字”,提醒程序员没有初始化变量. #include<stdio.h> int main(void) { int i; printf("i = %d\n", i); } 运行后:   变量对应于内存中的…