Go基础教程
基本语法介绍
random_w
这个作者很懒,什么都没留下…
展开
-
GO语言基础(一)
一、从hello world看语法//GO语言中保留C语言中的注释方法。//每个文件必须先声明包,GO语言中以包为管理单位。//每个工程中只能有一个main包,一个文件夹即为一个工程。//每个程序必须包含main包,开头处标明即可。package main//GO语言中不需要写分号import ( //通过import导入包,可以导入多个,分行写,用双引号括起来,导入的包必...原创 2018-12-02 14:06:43 · 366 阅读 · 0 评论 -
Go语言并发编程
1.并发和并行并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。并发(concurrency):指在同一时刻只能有一条指令执行,但是多个进程指令被快速的轮换执行,使得宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替执行。Go语言为并发编程而内置的上层API基于CSP(communicating seque...原创 2018-12-15 23:16:07 · 264 阅读 · 0 评论 -
Go语言编程中文件处理方法
1.文件分类设备文件:屏幕(标准输出设备)、键盘(标准输入设备) 磁盘文件:放在存储设备上的文件,1)文本文件;2)二进制文件2.文件常见api【1】文件的创建和打开新建文件可以通过如下两个方法:Func Create(name string) (file *File, err Error)根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返...原创 2018-12-13 22:19:09 · 364 阅读 · 0 评论 -
Go语言编程之json格式的编码和解码
Json是一种比xml更轻量级的数据交换格式,在易于人们阅读编写的同时,也易于程序解析和生成。尽json是JavaScript的一个子集,但json采用完全独立与编程的文本格式,且表现为键值对集合的文本描述形式,这使得他称为较为理想的、跨平台、跨语言的数据交换语言。 开发者可以用json传输简单的字符串、数字、布尔值,也可以传输一个数组,或者一个更复杂的复合结构。...原创 2018-12-13 17:50:59 · 643 阅读 · 0 评论 -
Go语言中的正则表达式
Go语言通过regexp标准包为正则表达式提供官方支持语法 说明 表达式实例 一般字符 匹配自身 abc 匹配abc . 匹配任意除换行符“\n”外的字符 a.b \ 转义字符 a\.b 匹配a.b [...] 字符集(字符类),对应的位置可以是字符集中任意字符,也可以给出范围,如[abc]或[a-c],第一...原创 2018-12-13 15:52:28 · 3926 阅读 · 0 评论 -
Go语言编程之字符串操作
1.字符串操作strings包里面的函数列表 语法 含义/结果 strings.Contains(s, t) 如果t在s中则返回true strings.Count(s,t) t在s中出现了多少次 strings.Join(xs, t) 将xs中所有字符串按照t分隔符进行合并(t可能为"") strings.Index(s, t) ...原创 2018-12-12 15:44:29 · 237 阅读 · 0 评论 -
Go语言异常处理
1.err接口使用package mainimport "fmt"import "errors"func main() { //方法一 使用fmt包 var err1 = fmt.Errorf("%s", "this is normal err1") fmt.Println("err1 = ", err1) err2 := fmt.Errorf("%s", &quo原创 2018-12-12 13:22:35 · 199 阅读 · 0 评论 -
Go语言面向对象编程(三)接口
1.接口的定义 在Go语言中,接口(interface)是一个自定义类型,接口类型具体描述了一系列方法的集合。 接口类型是一种抽象的类型,他不会暴漏出他所代表的对象的内部值的结构和这个对象支持的基础操作的集合,他们只会展示出他们自己的方法。因此接口类型不能将其实例化。 Go语言通过接口实现了鸭子类型(duck-typing):“当看到一直鸟走起来像...原创 2018-12-12 12:13:11 · 257 阅读 · 0 评论 -
Go语言面向对象编程(二)方法
1.方法 在面向对象编程中,一个对象其实也就是一个简单的值或者一个变量,在这个对象中会包含一些函数,这种带有接收者的函数,我们称为方法(method)。本质上,一个方法则是一个和特殊类型关联的函数。 一个面向对象的程序会用方法来表达其属性和对应的操作,这样使用这个对象的用户就不需要直接去操作对象,而是借助方法来做这些事情。 在Go语言中,可以给任意自...原创 2018-12-11 17:57:29 · 224 阅读 · 0 评论 -
Go语言面向对象编程(一)匿名字段
1.Go语言面向对象编程对于面向对象编程的支持Go语言设计的非常简洁而优雅。因为,Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但他并不是继承)、虚函数、构造函数和析构函数、隐藏的this指针等。尽管Go语言中没有封装、继承、多态这些概念,但同样同过别的方式实现这些特性:封装:通过方法实现 继承:通过匿名字段实现 多态...原创 2018-12-11 15:48:34 · 468 阅读 · 0 评论 -
GO语言基础(三)复合类型(指针、数组、切片、map、结构体)
1.指针【1】指针指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的某一个变量的值的起始位置。Go语言对指针的支持介于java和C/C++语言之间基本操作:默认值为nil,没有NULL常量 操作符"&"取地址,"*"通过指针访问目标对象 不支持指针运算,不支持"->"运算符,直接用"."访问目标成员package mainimpor...原创 2018-12-08 21:36:16 · 540 阅读 · 0 评论 -
GO语言基础(二)函数
1.函数基本结构func FuncName(参数列表) (返回类型){ 函数体 return}2.无参无返回值函数和无参有返回值函数package mainimport ( "fmt")//无参无返回值函数func Display() { fmt.Printf("hello go\n")}//无参...原创 2018-12-07 15:57:41 · 339 阅读 · 0 评论 -
GO语言中的单引号、双引号和反引号
1.单引号单引号在go语言中表示golang中的rune(int32)类型,单引号里面是单个字符,对应的值为改字符的ASCII值。func main() { a := 'A' fmt.Println(a)}输出:random@random-wz MINGW64 /c/GOPATH/src/Test$ go run main.go652.双引号在go语言中双引号...原创 2019-09-27 17:00:59 · 3234 阅读 · 0 评论