Golang
人生苦短,Let's GO!
coding丁
中山大学,
math and computer
保持谦卑,保持自信,充满动力,充满野心
展开
-
Golang通过反射对结构体进行赋值和其他操作
Golang通过反射对结构体进行赋值和其他操作通过反射可以方便快捷地访问Golang的结构体字段,并进行赋值或其他操作。当两个结构体内容相同但名字不同时,如何快捷地进行赋值?【或者内容有交集,对交集部分进行赋值】package mainimport ( "fmt" "reflect")type My_struct struct { Name string Age int House string}type Another_struct struct { House原创 2020-12-19 21:17:48 · 4912 阅读 · 1 评论 -
从零开始学GO ---- 接口
从零开始学GO ---- 接口接口是一个编程规范,一组方法签名的集合。Go的接口是非侵入式的设置,一个具体类型实现接口不需要在语法上显式地声明,只要具体类型的方法集是接口方法集的超集,就代表该类型实现了接口,编译器在编译时进行方法的校验。接口定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。在Go语言中接口(interface)是一种类型,一种抽象的类型。接口声明Go语言接口分为 接口字面变量类型和接口命名类型,用interface关键字声明接口字面变量类型的声明语法:i原创 2020-11-19 09:49:26 · 346 阅读 · 0 评论 -
从零开始学GO ---- 错误处理
从零开始学GO ---- 错误处理Go 语言通过内置的错误接口提供了非常简单的错误处理机制--------error类型接口。在这个接口类型的声明中只包含了一个方法Error。Error方法不接受任何参数,但是会返回一个string类型的结果。它的作用是返回错误信息的字符串表示形式。type error interface { Error() string}使用error类型的方式通常是:在函数声明的结果列表的最后,声明一个该类型的结果,同时在调用这个函数之后,先判断它返回的最后一个结果原创 2020-11-13 16:47:50 · 435 阅读 · 0 评论 -
从零开始学GO ---- 结构体和方法
从零开始学GO ---- 结构体和方法structGo语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。struct结构中的类型可以是任意类型,struct的存储空间是连续的,其字段按照声明时候的顺序存放(注意字段之间有对齐要求)struct有两种类型:struct类型字面量struct{ FeildName FeildType FeildName FeildType FeildNam原创 2020-11-12 15:12:50 · 229 阅读 · 0 评论 -
从零开始学GO ---- Go中函数的方方面面
从零开始学GO ---- Go中函数的方方面面在 Go 语言中,函数可是一等的(first-class)公民,函数类型也是一等的数据类型函数是一种类型,函数类型变量可以像其他类型变量一样使用,可以作为其他函数的参数或返回值,也可以直接调用执行函数支持多值返回支持闭包函数支持可变参数函数一个函数的定义包括如下几个部分:函数声明关键字func、函数名、参数列表、返回列表和函数体。【首字母的大小写决定了该函数在其他包的可见性:大写时其他包可见,小写时只有相同的包才可见】func funcNam原创 2020-11-09 16:26:34 · 163 阅读 · 0 评论 -
从零开始学GO ---- if-else语句、switch语句、for语句、标签和跳转
从零开始学GO ---- (3) if-else语句、switch语句、for语句、标签和跳转程序执行本质上来说就是两种模式:顺序和跳转顺序就是按照程序指令在存储器上的存放顺序逐条执行跳转就是遇到跳转指令就跳转到某处继续线性执行顺序在Go里面体现在从main函数开始逐条向下执行,跳转体现在包括goto语句、函数调用以及分支循环等。if-else语句if-else语句的通常写法:if 表达式1 { 分支1} else if 表达式2 { 分支2} else{ 分支原创 2020-11-09 09:13:00 · 346 阅读 · 0 评论 -
从零开始学GO ---- 指针、数组、切片、字典、结构体
从零开始学GO ---- (2) 指针、数组、切片、字典、结构体指针Go语言支持指针,指针的声明类型为* T,多级指针声明为** T,通过在变量名前加&获取变量的地址。不过区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。因此,实际上,对于Go中的指针,只需要记住两个符号:&(取地址)和*(根据地址取值)var a =11p:=&a //p是一个指针,*p和a的值都是11通过传入一个变量的地址,可以实现一个函数中改变该变量的目的:packa原创 2020-11-08 21:34:15 · 363 阅读 · 0 评论 -
从零开始学GO ---- 变量、常量、基本数据类型
从零开始学GO ---- (1) 变量、常量、基本数据类型第一个GO程序:hello world代码如下:package main // 声明 main 包,表明当前是一个可执行程序import "fmt" // 导入内置 fmt 包func main() { // main函数,是程序执行的入口 fmt.Printf("Hello World!") // 在终端打印 Hello World!}然后执行: go build hello.go 进行编译,之后便可以看到有一个exe文件,原创 2020-11-07 21:56:25 · 305 阅读 · 0 评论