03.Beego框架快速入门

[TOC]前言本篇通过一个简单的查询示例,演示整个Beego框架的使用。代码编辑工具:Goland需求连接MySQL数据库,通过GET请求,传入id值查询出对应学生信息一、控制器逻辑在controllers目录下创建GoDemoController.go文件package controllers import ( "github.com/astaxie/beego&quo...

GO 2022-07-30 AM 922次 0条

02.Beego框架安装详解

[TOC]前言安装Go SDK(选择1.13及以上版本)下载地址:https://golang.google.cn/dl/一直下一步,修改安装路径即可。配置代理windows系统中在终端执行如下命令:go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct检查配置是否成功go env本人使用的是windows 1...

GO 2022-07-28 PM 1576次 0条

01.Beego框架介绍

一、Beego简介Beego 是一个快速开发 Go 应用的 HTTP 框架,它可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。该框架采用模块封装,使用简单,容易学习。方便技术开发者...

GO 2022-07-27 AM 1177次 0条

30.Golang之错误和异常处理

[TOC]前言Go语言没有类似 Java 或 .NET 中的异常处理机制,虽然可以使用 defer、panic、recover 模拟,但官方并不主张这样做,Go语言的设计者认为其他语言的异常机制已被过度使用,上层逻辑需要为函数发生的异常付出太多的资源,同时,如果函数使用者觉得错误处理很麻烦而忽略错误,那么程序将在不可预知的时刻崩溃。Go语言希望开发者将错误处理视为正常开发必须实现的环节,正确...

GO 2022-07-25 PM 744次 0条

29.Golang写入文件

[TOC]前言一、写入文件操作1.1 os.OpenFile()函数语法func OpenFile(name string, flag int, perm uint32) (file *File, err Error)参数name:要文件路径+文件名;flag:打开文件的模式,只读、读写等;perm:文件权限,一个八进制数。r(读)04,W(写)02,x(执行)01。os.OpenFile(...

GO 2022-07-24 PM 2307次 0条

28.Golang读取文件

[TOC]前言一、概念文件是数据源(保存数据的地方)的一种,文件最主要的作用就是保存数据。文件在程序中是以流的形式来操作的。输入流和输出流流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据源(文件)到程序(内存)的路径输出流:数据从程序(内存)到数据源(文件)的路径二、读取文件操作2.1 打开和关闭文件打开文件func Open(filename string) (fil...

GO 2022-07-24 PM 915次 0条

27.Golang之反射三定律

[TOC]前言一、概述一个接口变量,实际上都是由一 pair 对(type 和 data)组合而成,pair 对中记录着实际变量的值和类型。也就是说在真实世界(反射前环境)里,type 和 value 是合并在一起组成接口变量的。而在反射的世界(反射后的环境)里,type 和 data 却是分开的,他们分别由 reflect.Type 和 reflect.Value 来表现。二、反射第一定律...

GO 2022-07-22 AM 628次 0条

26.Golang之反射介绍

[TOC]前言反射(reflection)是在 Java 出现后迅速流行起来的一种概念,通过反射可以获取丰富的类型信息,并可以利用这些类型信息做非常灵活的工作。一、概述反射:是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类...

GO 2022-07-22 AM 583次 0条

25.Golang并发安全和锁

[TOC]前言一、概述有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞态)。这就好比现实生活中十字路口被各个方向的汽车竞争,还有火车上的卫生间被车厢里的人竞争。数据竞争的示例import ( "fmt" "sync" ) var ( x int64 sw s...

GO 2022-07-15 PM 889次 0条

24.Golang之select

[TOC]前言一、概述select 是 Golang 中的一个控制结构,语法上类似于switch 语句,只不过select是用于 goroutine 间通信的 ,每个 case 必须是一个通信操作,要么是发送要么是接收,select 会随机执行一个可运行的 case。如果没有 case 可运行,goroutine 将阻塞,直到有 case 可运行。二、基本语法语法//select基本用法 s...

GO 2022-07-14 PM 676次 0条