随笔分类 - Go
摘要:一、模板引擎 1. 模板中绑定基本数据、字符串、数值、布尔值 default.go: package controllers import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } f
阅读全文
摘要:一、动态路由 api.go: package controllers import ( "github.com/astaxie/beego" ) type ApiController struct { beego.Controller } // http://localhost:8080/api/1
阅读全文
摘要:Beego 框架学习笔记 03:Put、Delete 一、Put 修改 goods.go: package controllers import ( "github.com/astaxie/beego" ) type GoodsController struct { // 首字母要大写 beego.
阅读全文
摘要:一、Get article.go 里添加代码: package controllers import ( "fmt" "github.com/astaxie/beego" ) type ArticleController struct { // 首字母要大写 beego.Controller } f
阅读全文
摘要:一、安装、新建项目 首先需要安装 beego 环境,安装 bee 脚手架等。具体可以参考我的这篇文章:Go 安装教程。 然后在文件夹下新建一个 beego 项目: bee new beegodemo 然后,需要进入 beegodemo 文件夹下,如果没有 go mod 文件,需要 init 一下:
阅读全文
摘要:这两天在 Linux 环境部署一个 Go 项目遇到一个报错:copy_file_range: bad file descriptor。网上查找各种方法,花了两天的时间,经过一番折腾后才解决,觉得非常有必要记录一下过程。 一、问题复现 安装完 Go、配置完 Go 环境以及 Beego 框架运行 Go
阅读全文
摘要:一、问题复现 执行以下命令: go run main.go 发现报错 go: github.com/astaxie/beego@v1.12.2: Get "https://proxy.golang.org/github.com/astaxie/beego/@v/v1.12.2.mod": dial
阅读全文
摘要:Go 学习笔记 01 | 输出、变量、常量、命名规则和代码风格 Go 学习笔记 02 | 基本数据类型以及 byte 和 rune 类型 Go学习笔记 03 | 流程控制 Go 学习笔记 04 | 数组、切片 Go 学习笔记 05 | map 详解 Go 学习笔记 06 | 函数详解 Go 学习笔记
阅读全文
摘要:一、Golang 接口 Golang 中接口定义了对象的行为规范,只定义规范不实现。接口中定义的规范由具体的对象来实现。 package main import ( "fmt" ) //接口是一个规范 type Usber interface { // 最好以 er 结尾表示接口 start() s
阅读全文
摘要:一、go mod 以及 Golang 自定义包 go mod init 初始化项目 新建一个 demo 文件夹,在 demo 文件夹下新建 go.mod 文件和 main.go 文件,再在 demo 文件夹下新建一个 calc 文件夹,在 calc 文件夹下新建一个 calc.go 文件。 calc
阅读全文
摘要:一、Golang 结构体与 JSON 互相转换 JSON 是一种轻量级的数据交换格式。RESTful API 接口中返回的数据都是 JSON 数据。 JSON 基本格式: { key: value, } 结构体转 JSON 举例 package main import ( "fmt" "encodi
阅读全文
摘要:一、结构体 实例化结构体 第一种实例化结构体:var 变量 结构体 package main import ( "fmt" ) type Person struct { name string age int sex string } func main() { var p1 Person // 实
阅读全文
摘要:一、Golang 中的指针 指针存储的是另一个变量的内存地址。 通过指针修改值会影响到原来的值。 package main import ( "fmt" ) func main() { a := 10 p := &a fmt.Println(p) fmt.Println(*p) *p = 30 fm
阅读全文
摘要:一、Golang 函数 ... 表示可变参数 package main import ( "fmt" ) func sumFn1(x int, y ...int) int { fmt.Println(x, y) sum := x for _, v := range y { sum += v } re
阅读全文
摘要:一、map 详解 make 创建 map 类型的数据: package main import ( "fmt" ) func main() { var userinfo = map[string]string{ "username": "张三", "age": "20", "sex": "男", /
阅读全文
摘要:一、数组 数组长度指定之后,不可修改。[...] 会自行推断数组长度。 var arr = [...]int{1,2,4} 指定索引值来初始化数组。 arr := [...]int{0: 1, 1: 10, 2: 20, 5: 50} 输出: [1 20 20 0 0 50] 基本数据类型和数组都是
阅读全文
摘要:一、if else for if 写在 if 里面,则是局部变量: package main import ( "fmt" ) func main() { if age := 34; age > 20 { fmt.Println("成年人", age) } fmt.Println(age) // 这
阅读全文
摘要:一、基本数据类型 unsafe.Sizeof() 查看不同长度的整型在内存中的存储空间。 类型转换,高位向低位转换要注意溢出。 数字字面量语法。 64 位系统中 Go 语言中浮点数默认是 float64。 二、Golang 中 float 精度丢失问题 利用第三方包:github.com/shops
阅读全文
摘要:一、输出 Println 和 Print 区别 Println 会自动换行输出,Print 不会自动换行输出。 package main import( "fmt" ) func main(){ fmt.Println("hello, golang!") fmt.Print("hello, gola
阅读全文

浙公网安备 33010602011771号