
Go
文章平均质量分 55
gnez-dd
这个作者很懒,什么都没留下…
展开
-
GoWeb
GoWebGoWeb应用原理[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jKcRfp9k-1623597877761)(C:\Users\51936\AppData\Roaming\Typora\typora-user-images\image-20210411115121803.png)]创建一个web应用在终端执行命令在目录中右键→在命令提示符中打开执行 go build main.go 命令;然后在当前目录中就会生成一个 main.exe 的二进制可执行原创 2021-06-13 23:24:58 · 293 阅读 · 0 评论 -
Go运算符
Go运算符算术运算符对数值型变量进行运算package mainimport( "fmt")func main(){ // /的使用 //如果运算的数都是整数,那么除后去掉小数部分,保留整数部分 fmt.Println(10/4)//2 var n1 float32 = 10/4 //n1为2 fmt.Println(n1) //如果希望保留小数部分,需要有浮点数参与运算 var n2 float32 = 10.0/4 fmt.Println(n2) // %原创 2021-05-28 20:53:12 · 168 阅读 · 0 评论 -
Go文件操作
Go文件操作文件是数据源(保存数据的地方)的一种输入流与输出流文件在程序中是以流的形式来操作的流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据源(文件)到程序(内存)的路径输出流:数据从程序(内存)到数据源(文件)的路径os.File封装所有文件操作,File是一个结构体常用文件操作和方法打开与关闭文件func Open(name string)(file *File,err error)Open打开一个文件用于读取,如果操作成功,返回的文件对象的方原创 2021-05-28 20:52:05 · 75 阅读 · 0 评论 -
Go数组与切片
Go数组与切片数组package mainimport( "fmt")func main(){ //数组的定义 /* var 数组名 [数组大小]数据类型 */ var intArr [3]int //定义完数组后,数组的各个元素都有默认值0 fmt.Println(intArr)//[0 0 0] //数组的地址可以通过数组名来获取&intArr //数组第一个元素的地址就是数组的首地址 //数组的各个元素的地址间隔是由数组类型决定 //初始化数组 var原创 2021-05-28 20:51:23 · 64 阅读 · 0 评论 -
Go面向对象三大特性
Go面向对象三大特性三大特性之一:封装把抽象出的字段和对字段的操作封装在一起,数据被保护在内部,程序的其他包只有通过授权的操作(方法)才能对字段进行操作封装好处隐藏实现细节对数据进行验证,保证安全合理体现封装对结构体中的属性进行封装通过方法,包实现封装封装实现将结构体、字段的首字母小写给结构体所在包提供一个工厂模式的函数,首字母大写提供一个首字母大写的Set方法,用于对属性判断并赋值func (var 结构体类型名)SetXXX(参数列表)(原创 2021-05-28 20:50:47 · 164 阅读 · 0 评论 -
Go流程控制
Go流程控制单分支控制package mainimport( "fmt")func main(){ //方式一 /*if 条件表达式{ 执行代码块 }*/ var age1 int fmt.Scanln(&age1) if age1 > 18 { fmt.Println("年龄大于18岁") } //golang支持在if中直接定义一个变量 if age2 := 20;age2 > 18 { fmt.Println("年龄大于18岁")原创 2021-05-28 20:50:12 · 62 阅读 · 0 评论 -
Go流程控制
Go流程控制单分支控制package mainimport( "fmt")func main(){ //方式一 /*if 条件表达式{ 执行代码块 }*/ var age1 int fmt.Scanln(&age1) if age1 > 18 { fmt.Println("年龄大于18岁") } //golang支持在if中直接定义一个变量 if age2 := 20;age2 > 18 { fmt.Println("年龄大于18岁")原创 2021-05-28 20:49:39 · 81 阅读 · 0 评论 -
Go结构体
Go结构体package mainimport( "fmt")//定义一个Cat结构体,将Cat的各个字段/属性信息放入到Cat结构体中进行管理//在创建一个结构体变量后,如果没有给字段赋值,都对应一个默认值//指针、slice、map的零值都是nil,即没有分配空间type Cat struct { Name string Age int Color string Hobby string}func main(){ //创建一个Cat变量 var cat1 Cat c原创 2021-05-28 20:49:17 · 143 阅读 · 0 评论 -
Go函数、包和错误处理
Go函数、包和错误处理函数基本语法package mainimport( "fmt")/* func 函数名 (形参列表) (返回值列表) { 执行语句 return 返回值列表 }*/func cal (n1 float64, n2 float64, operator byte) float64 { var res float64 switch operator { case '+': res = n1 + n2 case '-': res = n1 - n原创 2021-05-28 20:48:21 · 310 阅读 · 0 评论 -
Go方法与工厂模式
Go方法与工厂模式Golang中的方法是作用在指定的数据类型上的,和指定的数据类型绑定,因此自定义类型都可以有方法方法的调用和声明package mainimport ( "fmt")//方法的声明和调用type Person struct { Name string}//func (p Person)test(){}表示Person结构体有一方法,方法名为test//()表示接收的参数//()与{}之间表示返回值//(p Person)体现test方法是和Person类原创 2021-05-28 20:47:54 · 151 阅读 · 0 评论 -
Go的反射
Go的反射基本介绍反射可以在运行时动态获取变量的各种信息,比如变量的类型(type),类别(kind)如果是结构体变量,还可以获取到结构体本身的信息(包括结构体的字段、方法)通过反射,可以修改变量的值,可以调用关联的方法使用反射,需要import“reflect”反射的相关函数和转换reflect.TypeOf(变量名):获取变量的类型,返回reflect.Type类型reflect.ValueOf(变量名):获取变量的值,返回reflect.Value类型变量、interface{原创 2021-05-28 20:47:07 · 132 阅读 · 0 评论 -
Go的goroutine和channel
Go的goroutine和channelgoroutine进程和线程说明进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位线程是进程的一个执行实例,是程序执行的最小单元,是比进程更小的能独立运行的基本单位一个进程可以创建和销毁多个线程,同一个进程中的多个线程可以并发执行一个程序至少有一个进程,一个进程至少有一个线程并发和并行并发:多线程程序在单核上运行因为是在一个cpu上,比如有10个线程,每个线程执行10毫秒(进行轮询操作),从人的角度上看,好像这10原创 2021-05-28 20:46:52 · 143 阅读 · 0 评论 -
Go单元测试
Go单元测试Golang语言中有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-inBQUG3O-1622205914575)(C:\Users\51936\AppData\Roaming\Typora\typora-user-images\image-20210401220031020.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CEGG3原创 2021-05-28 20:45:20 · 97 阅读 · 0 评论 -
Go map
Go mapmap的介绍与声明package mainimport( "fmt")//map是key-value数据结构,又称为字段或关联数组//基本语法//var 变量名 map[keytype]valuetype//key可以是多种类型,bool、数字、string、指针、channel、接口、结构体、数组//slice、map、function不可,因为无法用==判断//valuetype通常为数字、string、map、struct//map声明不会分配内存,初始化需要mak原创 2021-05-28 20:44:45 · 90 阅读 · 0 评论 -
Go数据类型
Go数据类型变量package mainimport "fmt"func main(){ //定义变量/声明变量 var i int //给i赋值,若不赋值默认为0 i=10 //使用变量 fmt.Println("i=",i)}变量表示内存中的一个存储区域该区域有自己的名称(变量名)和类型(数据类型)Golang变量使用的方式package mainimport "fmt"func main(){ //指定变量类型,声明后若不赋值原创 2021-05-28 20:44:15 · 188 阅读 · 0 评论 -
Go语言了解
Go了解Go程序开发和基本结构说明//go文件后缀:.go//表示该文件所在包是main,在go中,每个文件都必须属于一个包package main//引入一个包fmt,引入后可以使用该包里面函数import "fmt"//func是一个关键字,表示函数//main是函数名,为主函数,即程序入口func main(){ //表示调用fmt中函数Println fmt.Println("helloworld!")}通过go build对该go文件进行编译,生成.exe原创 2021-05-28 20:43:51 · 636 阅读 · 0 评论