![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
今晚吃饭了嘛
紧要处常常只有几步
展开
-
golang学习(十六):客户信息管理系统
个人github(包括golang学习笔记、源码):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.md文章说明:该系统能实现对客户对象的插入、修改和删除(用切片实现),并能够打印客户明细表。后面系统加入客户查找、系统简单登录与退出功能。一、项目需求分析该系统能实现对客...原创 2019-03-09 23:59:33 · 1528 阅读 · 0 评论 -
golang学习(二十):goroutine与channel基本使用
一、在主线程(可以理解为进程)中,开启一个goroutine,该协程每隔1秒输出"hello,world"//在主线程中也每隔一秒输出"hello,golang",输出5次后,退出程序//要求主线程和goroutine同时执行1、第一种方法:传统方法package mainimport ( "fmt" "time")//一、在主线程(可以理解为进程)中,开启一...原创 2019-03-14 23:10:52 · 284 阅读 · 0 评论 -
golang学习(十三):记账软件项目
说明:此次基于面向过程编程,后面改成面向对象。开发流程:一、项目需求:能够记录家庭收入、支出、并能够打印收支明细。二、代码实现:package mainimport "fmt"func main() { //定义一个变量,保存用户输入的数据 key := "" //定义一个变量,控制是否退出for循环 loop := true //定义账户的余额:balanc...原创 2019-03-07 17:23:50 · 365 阅读 · 1 评论 -
JetBrains Goland:解决同个package不同文件不能互相调用
目录结构报错信息解决方法:1、使用Goland的话,点击菜单的Run——>Edit Configurations,将Run kind由File改为Package,Package path改为src下的目录,然后Apply就可以了。2、如果使用命令行运行的话,需要改下命令然后生成一个可执行文件运行。个人公众号,分享go语言相关知识。...原创 2019-03-19 20:59:35 · 3752 阅读 · 2 评论 -
golang学习(十四):记账软件项目(二)
个人github(包括golang学习笔记、源码):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.md说明:上一篇通过面向过程实现了家庭记账软件的基本功能,现在改成面向对象。思路:把记账软件的功能封装到一个结构体,然后调用该结构体的方法来实现。代码如下:main...原创 2019-03-07 22:44:35 · 584 阅读 · 0 评论 -
golang学习(十五):记账软件项目的功能拓展
这篇文章主要说明:一、对项目完成一个转账功能。二、在使用改软件前,有一个登录功能,只有输入正确的用户名和密码才能操作。(1)完成转账功能代码如下:familyAccount.go将转账写成一个方法://将转账写成一个方法func (this *FamilyAccount) Transfer() { fmt.Println("---------------转账功能---...原创 2019-03-08 11:15:05 · 317 阅读 · 0 评论 -
golang学习(二十一):goroutine与channel(二)
上一篇:golang学习(二十):goroutine与channel基本使用五、channel 的基本介绍//channel的数据放满后,就不能放入了//如果从channel取出数据后,又可以继续放入//可以这种方式取出数据 <-intChan//channel的基本使用//创建一个allChan,最多可以存放10个任意数据类型变量package maini...原创 2019-03-17 14:56:08 · 246 阅读 · 0 评论 -
golang学习(二十二):tcp socket编程入门
//1、编写一个客户端程序,能链接到服务端的8888窗口//2、客户端可以发送单行数据,然后退出//3、能通过终端输入数据(输入一行发送一行)并发送给服务器端//4、在终端输入exit,表示退出程序server.gopackage mainimport ( "fmt" "net")//tcp socket编程入门//1、编写一个客户端程序,能链接到服务端的888...原创 2019-03-17 15:07:06 · 311 阅读 · 0 评论 -
golang学习(十七):文件编程
一、打开文件和关闭文件//一、打开文件和关闭文件//使用的函数和方法//打开文件//func Open(name string) (file *File, err error)//关闭文件//func (f *File) Close() errorpackage mainimport ( "fmt" "os")func main() { //file的叫法 ...原创 2019-03-12 20:29:03 · 319 阅读 · 0 评论 -
golang学习(十八):json
文章说明:这篇文章主要是对结构体进行操作,其他数据类型相似。一、json序列化//json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人们阅读和编写,//也利于机器解析和生成//任何数据类型都可以转成json格式//json键值对是用来保存数据的一种方式//如{"name": "tom","age": 18}//json序列化是指将...原创 2019-03-12 21:06:33 · 111 阅读 · 0 评论 -
golang学习(十九):单元测试
文章说明:Go语言自带有一个轻量级的测试框架testing来实现单元测试和性能测试第一个案例://函数前面命名必须是Test,后面一般接要测试函数的名字(第一个字母不能是[a-z],用于识别测试用例//测试用例文件名必须以_test.go结尾//测试用例函数必须以Test开头,一般来说就是Test+被测试的函数名如:cal.gopackage main//一...原创 2019-03-12 21:20:15 · 207 阅读 · 0 评论 -
golang学习笔记:函数
个人github(golang学习笔记):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.mdpackage main//头等函数//支持头等函数的编程语言,可以把函数赋值给变量,也可以把函数作为其他函数的参数或者返回值。Go语言支持头等函数的机制//下面是头等函数...原创 2019-04-10 14:03:09 · 230 阅读 · 0 评论 -
golang学习(十二):数组的使用细节
1.数组是多个相同类型数据的组合,一个数组一旦声明了,其长度是固定的,不能动态变化。2.var arr []int 此时arr就是一个slice切片。3. 数组中的元素可以是任何数据类型,包括值类型和引用类型。4.数组创建后,如果没有赋值,有默认值(零值)。数值类型数组:默认值为0字符串数组:默认为""bool数组:默认值为false5.使用数组的步骤:(1)声明数...原创 2019-03-06 21:57:33 · 149 阅读 · 0 评论 -
JetBrains Goland报错:runnerw.exe: CreateProcess failed with error 216
文章说明:刚刚在使用Goland运行代码的时候出现了这样一个问题:解决方法:将包名改为package main 即可。因为IDE自动将文件所在的包名生成了当前的包名。...原创 2019-03-08 17:37:27 · 474 阅读 · 0 评论 -
golang学习(一):变量
简介变量是给某个内存地址起的一个名字,他的功能主要是存储用户的数据。常见的变量数据类型主要有:整型、浮点型、布尔型、结构体等。Go语言的变量必须经过声明才能使用,声明了没有使用也会报错。变量的声明单一声明:var 变量名 变量类型 如:var age int也可以一次声明多个变量,如:var a , b , c int 上面如果指定了初始值,则类型可...原创 2019-02-15 01:16:10 · 228 阅读 · 0 评论 -
golang学习(二):数据类型
个人github(golang学习笔记):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.md简介Go语言基本的数据类型有整型、浮点型、布尔型、字符串;还有复杂数据类型如切片、结构体、函数、map、通道、指针、数组、接口等。整型整型分为两个大类:1. int8...原创 2019-02-15 14:51:16 · 363 阅读 · 0 评论 -
golang学习(三):指针
简介指针是存储一个变量的内存地址的变量。Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址,如:package mainimport "fmt"func main() { var a int = 1 fmt.Printf("变量的地址为: %x\n", &a )}运行结果如下:指针的空值指针的空值为 nil 。...原创 2019-02-15 17:57:36 · 229 阅读 · 0 评论 -
golang读取文件
提前建一个文件文本helloworld.txt,现在可以在Go程序中使用绝对文件路径将helloworld整个文件读取。代码中使用到 ioutol包中的 ReadFile函数。在Go语言标准库文档中它的用法是:func ReadFile(filename string) ([]byte, error)说明:ReadFile 从filename指定的文件中读取数据并返回文件的内容。成功的调...原创 2019-02-21 17:25:18 · 318 阅读 · 0 评论 -
golang学习(四):变参函数
个人github(golang学习笔记):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.md简介变参函数是指可以接受可变数量的参数的函数。如果一个函数最后一个参数由...T表示,则表示该函数可以接受任意数量的类型为T的参数。注意:只有函数的最后一个...原创 2019-02-16 13:33:48 · 522 阅读 · 0 评论 -
golang学习(五):条件判断(if)
个人github(golang学习笔记):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.md简介在Go语言中,我们可通过if关键字进行条件的判断。单分支语法如下:if 条件表达式 { 执行代码块}注意:当条件表达式为true时,就会...原创 2019-02-18 15:31:41 · 2371 阅读 · 0 评论 -
golang学习(六):循环语句(for)
简介在Go语言中所有的循环类型都可以使用for关键字完成。语法如下:for 循环变量初始化; 循环条件表达式; 循环变量迭代 { 循环体代码}说明:循环变量初始化是初始化语句,只执行一次。初始化语句结束后,如果 循环条件表达式为 true,则执行大括号{ }里面的循环体代码(条件表达式是控制是否循环的开关);循环体执行结束后然后执行循环变量迭代,如果循环条件为 fals...原创 2019-02-18 18:13:18 · 291 阅读 · 0 评论 -
golang学习(七):分支选择(switch)
简介在Go语言中使用switch语句可以对大量的值进行判断,可以说是编写多个 if-else的一种方式。switch语句除了可以对常量进行判断,还可以对表达式进行判断。案例如下:package mainimport ( "fmt")func main() { var a = 1 switch a { case 1: fmt.Println("study") c...原创 2019-02-18 23:55:16 · 882 阅读 · 0 评论 -
golang学习(八):数组
简介数组是一些类型相同的元素的集合,它是一段固定长度的连续内存区域,数组大小不可以变化。数组的声明var 数组变量名 [元素数量] T说明:T可以是任意基本类型。当类型为数组本身时,实现多维数组。案例如下:package mainimport "fmt"func main() { //声明含3个元素的数组 var student [3]string ...原创 2019-02-19 15:16:44 · 236 阅读 · 0 评论 -
golang学习(九):切片(slice)
简介在Go 语言中,数组是值类型,长度是固定的;而切片是引用类型,长度可动态增长。切片的内部结构包括地址、大小和容量。从数组或切片生成新的切片特性:1.当省略开始位置时,表示从连续区域开头到结束位置。2.当省略结束位置时,表示从开始位置到整个连续区域结束位置。3.两者都省略时,与切片本身等效。基本格式如下:slice [开始位置:结束位置]案例如下:pa...原创 2019-02-19 19:52:04 · 522 阅读 · 0 评论 -
golang学习(十一):函数的使用细节
个人github(包括golang学习笔记、源码):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.md1.函数的形参列表可以是多个,返回值列表也可以是多个。2.形参列表和返回值列表的数据类型可以是值类型和引用类型。3.函数的命名遵循标识符命名规范,首字母不能是数字,首...原创 2019-03-01 10:27:45 · 228 阅读 · 0 评论 -
golang学习(十):映射(Map)
简介在Go语言中Map将键与值绑定在一起,可以通过键获取对应的值。比如学号和学生对应。Map的定义在Go语言中map的定义:map[Key Type]Value Type说明:1. Key Type是键类型2. Value Type是值类型创建Map基本语法如下:make(map[Key Type]Value Type)说明:map 的类型表示为 m...原创 2019-02-20 00:41:12 · 349 阅读 · 0 评论 -
golang打印九九乘法表
逻辑分析:运用多重循环控制,定义两个变量,一个变量控制层数,另外一个变量控制每一层算术的个数。代码如下:package mainimport "fmt"func main () { //i表示打印的层数 for i := 1; i <= 9; i++ { //j表示每一层打印算术的个数 for j := 1; j <= i; j++ { fmt.P...原创 2019-02-14 16:23:43 · 583 阅读 · 0 评论