Go
cgl_dong
!
展开
-
编程语言在函数中的参数传递
1、PythonPython 的参数传递是赋值传递 (pass by assignment),或者叫作对象的引用传递(pass by object reference)。Python 里所有的数据类型都是对象,所以参数传递时,只是让新变量与原变量指向相同的对象而已,并不存在值传递或是引用传递一说。 ----来自互联网总结一下:就是在使用函数时,把实参赋给函数的形参,即形参=实参,函数的形参和实参指向同一对象。那么在函数中参数的原创 2020-12-28 09:50:41 · 183 阅读 · 0 评论 -
Go语言(十六)网络编程/Socket、http
Go语言网络编程/Socket、httpGO语言和网络编程有关的包都在net包下,通过net包及其子包,可以实现各种协议编程、Socket编程、http编程、rpc编程等。一、Socket编程1、Dial函数Go语言中 Dial() 函数用于创建网络连接,函数原型如下:func Dial(network, address string) (Conn, error) { ...原创 2020-01-03 03:59:34 · 326 阅读 · 0 评论 -
Go语言(十五)Database/Sql操作
Go语言Database/Sql操作Go语言标准库中有两个包和DB操作相关,database/sql和database/sql/driver。sql包提供了保证SQL或类SQL数据库的泛用接口。driver包定义了应被数据库驱动实现的接口,这些接口会被sql包使用。一、SQL操作1、下载驱动Go语言标准库提供的两个包都是相关接口,要连接数据库还需要相关驱动程序。以操作MYSQL为...原创 2020-01-01 21:48:12 · 555 阅读 · 0 评论 -
Go语言(十四)反射
Go语言reflect反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。Go中的反射通过reflect包来完成。通过反射,我们能获取到正在运行的程序的所有信息。通过反射,静态的Go也有了动态语言的特点。一、reflect包reflect包下主要的类型有两个,接口类型的Ty...原创 2020-01-01 16:49:53 · 164 阅读 · 0 评论 -
Go语言(十三)fmt、os、io\ioutil、bufio包
Go语言fmt、os、io\ioutil、bufio包fmt、os、io\ioutil、bufio包是与系统、文件、输入输出相关的包一、os包os包是与操作系统有关的包。os包提供了操作系统函数的不依赖平台的接口。设计为Unix风格的,虽然错误处理是go风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。系统级的操作如获取系统信息等可查阅文档,主要讨论对文件系统的操作...原创 2019-12-30 20:30:27 · 866 阅读 · 0 评论 -
Go语言学习笔记目录
Go语言学习笔记目录持续更新中。。。。。GO语言(一)简介及安装Go语言(二)数据类型及格式化输出Go 语言(三)变量、常量及关键字Go语言(四)输入输出Go语言(五)函数、数组、切片Go语言(六)指针及结构体Go语言(七)map、list及关键字make&newGo语言(八)面向对象及方法Go语言(九)接口Go语言(十)错误处理Go语言(十一)packageGo...原创 2019-11-23 23:49:07 · 135 阅读 · 0 评论 -
Go语言(十二)并发编程
Go语言并发编程 go语言中对多任务的执行基于并发模型,可以简单地理解为交替执行。不同于其他语言的多线程,go基于协程,即goroutine,是一种轻量级的线程。对于数据的共享,go从语言层次提供了信道channels代替共享内存,当然共享内存go中也是支持的。一、goroutinegoroutine 是 Go语言中的轻量级线程实现,由 Go 运行时(runtime)管理。Go 程序会...原创 2019-11-23 02:25:52 · 183 阅读 · 0 评论 -
Go语言(十一)package
Go语言packageGo语言是使用包来组织源代码的,并实现命名空间的管理。任何源代码文件必须属于某个包。源码文件的第一行有效代码必须是 package pacakgeName 语句,通过该语句声明自己所在的包。一、包引用包通过import xxx进行导入。标准包的源码位于 $GOROOT/src/ 下面,标准包可以直接引用。自定义的包和第三方包的源码必须放到 $GOPATH/sr...原创 2019-11-19 23:16:16 · 149 阅读 · 0 评论 -
Go语言(十)错误处理
Go语言(十)错误处理go语言中使用error接口处理异常,两个内置函数panic()和recover()以报告和处理运行时错误和程序中的错误场景,一个defer关键字来处理顺序执行。一、error异常处理01、error接口go语言使用接口error处理异常。type error interface { Error() string}该接口处于errors包下,只有以下...原创 2019-11-18 20:51:52 · 273 阅读 · 0 评论 -
Go语言(九)接口
Go语言接口接口是对行为的规范,Go语言中的接口是一组方法的签名,并且是非侵入式的。Go的接口是一种突破的设计。一、接口接口是对行为的规范,比如接口定义了行为,但是接口中没有具体的实现,需要你对行为进行细节的描述。go中就更简单了,只有一组方法的名字,没有接收器类型,也就没有一大堆的继承实现树图。只要一个类型有接口中定义的所有方法,就是实现了该接口,不需要显式的声明接口。接口声明...原创 2019-10-05 12:28:45 · 117 阅读 · 0 评论 -
Go语言(八)面向对象及方法
Go语言面向对象及方法Go不是面向对象语言,但是却可以借助结构体模拟面向对象的特点。结构体在Go语言中的地位等同其他语言中的class。GO中这样的设计极大地降低了耦合,包括后面所说的接口,基本都是非侵入式的。一、面向对象面向对象的基本特征是:继承、封装、多态Go中的结构体是一种组合式的结构,对于属性的继承可以使用匿名字段的方式。而封装不必多说,对于多态的支持稍后详述。结构体的匿名...原创 2019-10-05 00:46:42 · 160 阅读 · 0 评论 -
Go语言(七)map、list及关键字make&new
Go语言map、list及关键字make&newmap和列表是两种容器,make&new是创建以及初始化结构的一、make&new关键字make和new关键字是用来创建以及初始化结构的。make只用于chan、map以及切片的内存创建,返回的还是这三个引用类型本身;因为这三种类型是引用类型,所以必须得初始化。对于引用类型的变量,我们不光要声明它,还要为它分配内...原创 2019-10-02 15:52:20 · 2693 阅读 · 0 评论 -
Go语言(六)指针及结构体
Go语言指针及结构体指针是一种存储地址的数据类型,引用类型;结构体是一种能够组合各种数据类型的类型,值类型。指针是存储地址的类型,c/c++里面的指针极度强大,通过对指针的偏移、运算和转换 ,是C/C++ 语言拥有极高性能的根本所在,在操作大块数据和做偏移时即方便又便捷,但是C/C++ 中指针饱受诟病,根本原因是指针的运算和内存释放,经常造成内存溢出等问题。Go语言也提供了指针,但是不允...原创 2019-10-02 15:49:07 · 386 阅读 · 0 评论 -
Go语言(五)函数、数组、切片
Go语言函数、数组、切片Go语言中函数,数组这些都是派生类型,也可以说是复杂类型,能够处理更加复杂的数据。一、函数函数是基本的代码块,用于执行一个任务。Go 语言最少有个 main() 函数。函数声明告诉了编译器函数的名称,返回类型,和参数。Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串...原创 2019-09-30 14:41:59 · 618 阅读 · 0 评论 -
Go语言(四)输入输出
Go语言输入输出本篇涉及函数的知识,不过没有影响package fmtfmt包实现了类似C语言printf和scanf的格式化I/O。格式化动作('verb')源自C语言但更简单。fmt.Println函数我们知道是打印换行的函数。文档中是这样的:func Println(a ...interface{}) (n int, err error)**a …interface{}...原创 2019-09-30 14:41:26 · 1466 阅读 · 0 评论 -
Go语言(二)数据类型及格式化输出
Go语言数据类型及格式化输出一、数据类型Go 语言按类别有以下几种数据类型:序号类型和描述1布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。2数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。3字符串类型: ...原创 2019-09-30 13:16:49 · 3913 阅读 · 0 评论 -
Go 语言(三)变量、常量及关键字
Go 语言变量、常量及关键字变量Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。go中变量声明后必须被使用,否则不通过编译声明变量的一般形式是使用 var 关键字:var var_name typevar name stringvar num int16关于变量声明,有多种方式1、指定变量类型,如果没有初始化,则变量默认为零值。 var name s...原创 2019-09-29 20:34:59 · 112 阅读 · 0 评论 -
GO语言(一)简介及安装
GO语言简介及安装简介Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活...原创 2019-09-29 20:34:23 · 115 阅读 · 0 评论