#C语言

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

Go语言基础之函数

 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。Go语言中定义函数使用func关键字,具体格式如下:func函数名(参数)(返回值){函数体}其中:函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详...
代码星球 ·2020-08-07

Go语言基础之map

 Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。Go语言中map的定义语法如下:map[KeyType]ValueType其中,KeyType:表示键的类型。ValueType:表示...
代码星球 ·2020-08-07

Go语言基础之切片

 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。例如:funcarraySum(x[3]int)int{sum:=0for_,v:=rangex{sum=sum+v}returnsum}  这个求和函数只能接受[3]int类型,其他的都不支持。再比如,a:=[3]int{1,2,...
代码星球 ·2020-08-07

Go语言基础之数组

 数组是同一种数据类型元素的集合。在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。基本语法://定义一个长度为3元素类型为int的数组avara[3]int  var数组变量名[元素数量]T比如:vara[5]int,数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,...
代码星球 ·2020-08-07

Go语言fmt.Printf使用指南

 fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。标准库fmt提供了以下几种输出相关函数。PrintPrint系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Println函数会在输出内...
首页上一页...4849505152...下一页尾页