#go语言

Go语言基础之网络编程

  互联网的核心是一系列协议,总称为”互联网协议”(InternetProtocolSuite),正是这一些协议规定了电脑如何连接和组网。我们理解了这些协议,就理解了互联网的原理。由于这些协议太过庞大和复杂,没有办法在这里一概而全,只能介绍一下我们日常开发中接触较多的几个协议...
代码星球 ·2020-08-07

Go语言基础之单元测试

  Go语言中的测试依赖gotest命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。gotest命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是gotest测试的一部分,不会被gobuild编译到最终的...
代码星球 ·2020-08-07

Go语言基础之rand(随机数)包

"math/rand" 包实现了伪随机数生成器。也就是生成整形和浮点型。   该包中根据生成伪随机数是是否有种子(可以理解为初始化伪随机数),可以分为两类:  1、有种子。通常以时钟,输入输出等特殊节点作为参数,初始化。该类型生成的随机数相比无种子时重复概率较低。  2、无种子。可以理解为此时种子为...

Go语言基础之并发

  并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。Go语言的并发通过goroutine实现。goroutine类似于...
代码星球 ·2020-08-07

Go语言内置包之strconv

 Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换。strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数:Atoi()、Itia()、parse系列、format系列、append系列。更多函数请查看官方文档。这一组函数是我们平时编程中用的最多的。Atoi()Atoi...

Go语言基础之反射

Go语言中的变量是分为两部分的:类型信息:预先定义好的元信息。值信息:程序运行过程中可动态变化的。反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、...
代码星球 ·2020-08-07

Go语言基础之os

import"os"os包提供了操作系统函数的不依赖平台的接口。设计为Unix风格的,虽然错误处理是go风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。例如,如果某个使用一个文件名的调用(如Open、Stat)失败了,打印错误时会包含该文件名,错误类型将为*PathError,其内部可以解包获得更多...
代码星球 ·2020-08-07

Go语言基础之Path包与FilePath包

packagemain;import("fmt""path")//go语言path包的学习funcmain(){//返回路径的最后一个元素fmt.Println(path.Base("./a/b/c"));//如果路径为空字符串,返回.fmt.Println(path.Base(""));//如果路径只有斜线,返回/f...

Go语言基础之runtime包

runtime调度器是非常有用的东西,关于runtime包几个方法:Gosched:让当前线程让出cpu以让其他线程运行,它不会挂起当前线程,因此当前线程未来会继续执行NumCPU:返回当前系统的CPU核数量GOMAXPROCS:设置最大的可同时使用的CPU核数Goexit:退出当前goroutine(但是defer语...
代码星球 ·2020-08-07

Go语言文件操作

 os.Open()函数能够打开一个文件,返回一个*File和一个err。对得到的文件实例调用close()方法能够关闭文件。packagemainimport("fmt""os")funcmain(){//只读方式打开当前目录下的main.go文件file,err:=os.Open("./main.go")...
代码星球 ·2020-08-07

Go语言基础之接口

 在Go语言中接口(interface)是一种类型,一种抽象的类型。interface是一组method的集合,是duck-typeprogramming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法)。为了保护你的...
代码星球 ·2020-08-07

Go语言基础之time包

 time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。time.Time类型表示时间。我们可以通过time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。示例代码如下:functimeDemo(){now:=time.Now()//获取当前时间fmt.Printf("c...
代码星球 ·2020-08-07

Go语言基础之包

 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包。package包名注...
代码星球 ·2020-08-07

Go语言基础之结构体

  Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型,Go语言中可以使用type关键...
代码星球 ·2020-08-07

Go语言基础之指针

 任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。比如,“永远不要高估自己”这句话是我的座右铭,我想把它写入程序中,程序一启动这句话是要加载到内存(假设内存地址0x123456),我在程序中把这段话赋值给变量A,把内存地址...
代码星球 ·2020-08-07
首页上一页...34567...下一页尾页