51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#语言基础
Go语言基础之反射
Go语言中的变量是分为两部分的:类型信息:预先定义好的元信息。值信息:程序运行过程中可动态变化的。反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、...
代码星球
·
2020-08-07
Go
语言基础
反射
Go语言基础之os
import"os"os包提供了操作系统函数的不依赖平台的接口。设计为Unix风格的,虽然错误处理是go风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。例如,如果某个使用一个文件名的调用(如Open、Stat)失败了,打印错误时会包含该文件名,错误类型将为*PathError,其内部可以解包获得更多...
代码星球
·
2020-08-07
Go
语言基础
os
Go语言基础之Path包与FilePath包
packagemain;import("fmt""path")//go语言path包的学习funcmain(){//返回路径的最后一个元素fmt.Println(path.Base("./a/b/c"));//如果路径为空字符串,返回.fmt.Println(path.Base(""));//如果路径只有斜线,返回/f...
代码星球
·
2020-08-07
Go
语言基础
Path
包与
FilePath
Go语言基础之runtime包
runtime调度器是非常有用的东西,关于runtime包几个方法:Gosched:让当前线程让出cpu以让其他线程运行,它不会挂起当前线程,因此当前线程未来会继续执行NumCPU:返回当前系统的CPU核数量GOMAXPROCS:设置最大的可同时使用的CPU核数Goexit:退出当前goroutine(但是defer语...
代码星球
·
2020-08-07
Go
语言基础
runtime
Go语言基础之接口
在Go语言中接口(interface)是一种类型,一种抽象的类型。interface是一组method的集合,是duck-typeprogramming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法)。为了保护你的...
代码星球
·
2020-08-07
Go
语言基础
接口
Go语言基础之time包
time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。time.Time类型表示时间。我们可以通过time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。示例代码如下:functimeDemo(){now:=time.Now()//获取当前时间fmt.Printf("c...
代码星球
·
2020-08-07
Go
语言基础
time
Go语言基础之包
包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包。package包名注...
代码星球
·
2020-08-07
Go
语言基础
之包
Go语言基础之结构体
Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型,Go语言中可以使用type关键...
代码星球
·
2020-08-07
Go
语言基础
结构
Go语言基础之指针
任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。比如,“永远不要高估自己”这句话是我的座右铭,我想把它写入程序中,程序一启动这句话是要加载到内存(假设内存地址0x123456),我在程序中把这段话赋值给变量A,把内存地址...
代码星球
·
2020-08-07
Go
语言基础
指针
Go语言基础之函数
Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。Go语言中定义函数使用func关键字,具体格式如下:func函数名(参数)(返回值){函数体}其中:函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详...
代码星球
·
2020-08-07
Go
语言基础
函数
Go语言基础之map
Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。Go语言中map的定义语法如下:map[KeyType]ValueType其中,KeyType:表示键的类型。ValueType:表示...
代码星球
·
2020-08-07
Go
语言基础
map
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语言基础之数组
数组是同一种数据类型元素的集合。在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。基本语法://定义一个长度为3元素类型为int的数组avara[3]int var数组变量名[元素数量]T比如:vara[5]int,数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,...
代码星球
·
2020-08-07
Go
语言基础
数组
Go语言基础之流程控制
if条件判断基本写法Go语言中if条件判断的格式如下:if表达式1{分支1}elseif表达式2{分支2}else{分支3}当表达式1的结果为true时,执行分支1,否则判断表达式2,如果满足则执行分支2,都不满足时,则执行分支3。if判断中的elseif和else都是可选的,可以根据实际需要进行选择。Go...
代码星球
·
2020-08-07
Go
语言基础
流程
控制
Go语言基础之运算符
Go语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符运算符描述+相加-相减*相乘/相除%求余注意:++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。运算符描述==检查两个值是否相等,如果相等返回True否则返回False。!=检查两个值是否不相等,如果不相等返回True否...
代码星球
·
2020-08-07
Go
语言基础
运算符
首页
上一页
1
2
3
4
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他