Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
檀越@新空间
Coding Tree
提交
2d2b34ac
C
Coding Tree
项目概览
檀越@新空间
/
Coding Tree
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coding Tree
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2d2b34ac
编写于
10月 11, 2022
作者:
彭世瑜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix
上级
b95fedf6
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
288 addition
and
26 deletion
+288
-26
blog/golang/golang-install.md
blog/golang/golang-install.md
+1
-1
blog/golang/golang-mysql.md
blog/golang/golang-mysql.md
+140
-0
blog/golang/golang-project.md
blog/golang/golang-project.md
+1
-1
blog/golang/golang-run.md
blog/golang/golang-run.md
+1
-1
blog/golang/golang-standard-math.md
blog/golang/golang-standard-math.md
+109
-0
blog/golang/golang-start.md
blog/golang/golang-start.md
+1
-1
blog/golang/index.md
blog/golang/index.md
+35
-22
未找到文件。
blog/golang/golang-install.md
浏览文件 @
2d2b34ac
#
第二章
Golang 环境安装
#
1.2、
Golang 环境安装
## Go语言开发工具
## Go语言开发工具
...
...
blog/golang/golang-mysql.md
0 → 100644
浏览文件 @
2d2b34ac
# Golang操作MySQL数据库
## 准备数据库和数据表
下载安装数据库
https://dev.mysql.com/downloads/mysql/
登录数据库
```
bash
$
mysql
-uroot
-p
```
初始化数据
```
sql
-- 创建数据库
create
database
go_db
;
use
go_db
;
-- 创建数据表
create
table
user_tbl
(
id
integer
primary
key
auto_increment
,
username
varchar
(
20
),
password
varchar
(
20
)
);
desc
user_tbl
;
+
----------+-------------+------+-----+---------+----------------+
|
Field
|
Type
|
Null
|
Key
|
Default
|
Extra
|
+
----------+-------------+------+-----+---------+----------------+
|
id
|
int
|
NO
|
PRI
|
NULL
|
auto_increment
|
|
username
|
varchar
(
20
)
|
YES
|
|
NULL
|
|
|
password
|
varchar
(
20
)
|
YES
|
|
NULL
|
|
+
----------+-------------+------+-----+---------+----------------+
3
rows
in
set
(
0
.
03
sec
)
-- 插入初始化数据
insert
into
user_tbl
(
username
,
password
)
values
(
"Tom"
,
"123456"
);
insert
into
user_tbl
(
username
,
password
)
values
(
"Kite"
,
"abcdef"
);
select
*
from
user_tbl
;
+
----+----------+----------+
|
id
|
username
|
password
|
+
----+----------+----------+
|
1
|
Tom
|
123456
|
|
2
|
Kite
|
abcdef
|
+
----+----------+----------+
2
rows
in
set
(
0
.
01
sec
)
```
## 安装MySQL驱动
https://pkg.go.dev/github.com/go-sql-driver/mysql
```
go get github.com/go-sql-driver/mysql
```
## 获得数据库链接
```
go
package
main
import
(
"database/sql"
"fmt"
"time"
_
"github.com/go-sql-driver/mysql"
)
func
main
()
{
db_url
:=
"root:123456@tcp(127.0.0.1:3306)/go_db?charset=utf8mb4&parseTime=true"
db
,
err
:=
sql
.
Open
(
"mysql"
,
db_url
)
if
err
!=
nil
{
panic
(
err
)
}
defer
db
.
Close
()
// 最大连接时长
db
.
SetConnMaxLifetime
(
time
.
Minute
*
3
)
// 最大连接数
db
.
SetMaxOpenConns
(
10
)
// 空闲连接数
db
.
SetMaxIdleConns
(
10
)
// 尝试与数据库建立连接
err
=
db
.
Ping
()
if
err
!=
nil
{
panic
(
err
)
}
fmt
.
Printf
(
"db: %v
\n
"
,
db
)
}
```
## 插入数据
```
go
package
main
import
(
"database/sql"
"fmt"
_
"github.com/go-sql-driver/mysql"
)
func
main
()
{
db_url
:=
"root:123456@tcp(127.0.0.1:3306)/go_db?charset=utf8mb4&parseTime=true"
db
,
err
:=
sql
.
Open
(
"mysql"
,
db_url
)
if
err
!=
nil
{
panic
(
err
)
}
defer
db
.
Close
()
sql
:=
"insert into user_tbl (username, password) values (?, ?)"
result
,
sqlErr
:=
db
.
Exec
(
sql
,
"Jack"
,
"jjyy"
)
if
sqlErr
!=
nil
{
panic
(
sqlErr
)
}
else
{
id
,
_
:=
result
.
LastInsertId
()
fmt
.
Printf
(
"id: %v
\n
"
,
id
)
// id: 3
}
}
```
blog/golang/golang-project.md
浏览文件 @
2d2b34ac
#
第四章
Golang 项目管理
#
1.4、
Golang 项目管理
## go项目管理工具
## go项目管理工具
...
...
blog/golang/golang-run.md
浏览文件 @
2d2b34ac
#
第三章
Golang 运行代码
#
1.3、
Golang 运行代码
## Golang执行流程
## Golang执行流程
...
...
blog/golang/golang-standard-math.md
0 → 100644
浏览文件 @
2d2b34ac
# Golang 标准库-math
math 包提供了一些常量和一些有用的数学计算函数
## 常量
示例
```
go
package
main
import
(
"fmt"
"math"
)
func
main
()
{
fmt
.
Printf
(
"math.Pi: %v
\n
"
,
math
.
Pi
)
// math.Pi: 3.141592653589793
fmt
.
Printf
(
"math.MinInt: %v
\n
"
,
math
.
MinInt
)
// math.MinInt: -9223372036854775808
fmt
.
Printf
(
"math.MaxInt: %v
\n
"
,
math
.
MaxInt
)
// math.MaxInt: 9223372036854775807
}
```
## 数学函数
```
go
package
main
import
(
"fmt"
"math"
)
func
main
()
{
// 取绝对值
fmt
.
Printf
(
"math.Abs(-10): %v
\n
"
,
math
.
Abs
(
-
10
))
// math.Abs(-10): 10
// x的y次方
fmt
.
Printf
(
"math.Pow(2, 3): %v
\n
"
,
math
.
Pow
(
2
,
3
))
// math.Pow(2, 3): 8
// 10的n次方
fmt
.
Printf
(
"math.Pow10(3): %v
\n
"
,
math
.
Pow10
(
3
))
// math.Pow10(3): 1000
// 开平方
fmt
.
Printf
(
"math.Sqrt(64): %v
\n
"
,
math
.
Sqrt
(
64
))
// math.Sqrt(64): 8
// 开立方
fmt
.
Printf
(
"math.Cbrt(27): %v
\n
"
,
math
.
Cbrt
(
27
))
// math.Cbrt(27): 3
// 向上取整
fmt
.
Printf
(
"math.Ceil(3.14): %v
\n
"
,
math
.
Ceil
(
3.14
))
// math.Ceil(3.14): 4
// 向下取整
fmt
.
Printf
(
"math.Floor(8.75): %v
\n
"
,
math
.
Floor
(
8.75
))
// math.Floor(8.75): 8
// 取余
fmt
.
Printf
(
"math.Mod(10, 3): %v
\n
"
,
math
.
Mod
(
10
,
3
))
// math.Mod(10, 3): 1
// 分别取整数和小数部分
fmt
.
Println
(
math
.
Modf
(
3.14
))
// 3 0.14000000000000012
}
```
随机数
```
go
package
main
import
(
"fmt"
"math/rand"
"time"
)
func
init
()
{
// 设置随机数种子
rand
.
Seed
(
time
.
Now
()
.
UnixNano
())
}
func
main
()
{
// 随机数
fmt
.
Println
(
rand
.
Int
())
// 422547814534915217
// 指定随机数范围[0,n)
fmt
.
Println
(
rand
.
Intn
(
10
))
// 8
}
```
blog/golang/golang-start.md
浏览文件 @
2d2b34ac
#
第一章
Golang 概述
#
1.1、
Golang 概述
Go言语 Golang
Go言语 Golang
...
...
blog/golang/index.md
浏览文件 @
2d2b34ac
...
@@ -8,45 +8,51 @@
...
@@ -8,45 +8,51 @@
## 目录
## 目录
[
第一章 Golang 概述
](
blog/golang/golang-start.md
)
第一章 语言基础
[
第二章 Golang 环境安装
](
blog/golang/golang-install
.md
)
-
[
1.1、Golang 概述
](
/blog/golang/golang-start
.md
)
[
第三章 Golang 运行代码
](
/blog/golang/golang-run
.md
)
-
[
1.2、Golang 环境安装
](
/blog/golang/golang-install
.md
)
[
第四章 Golang 项目管理
](
/blog/golang/golang-project
.md
)
-
[
1.3、Golang 运行代码
](
/blog/golang/golang-run
.md
)
[
第五章 Golang标识符、关键字、命名规则
](
/blog/golang/golang-identifier
.md
)
-
[
1.4、Golang 项目管理
](
/blog/golang/golang-project
.md
)
[
第六章 Golang变量
](
/blog/golang/golang-variable.md
)
第二章 基本语法
[
第七章 Golang 常量
](
/blog/golang/golang-constant
.md
)
-
[
第五章 Golang标识符、关键字、命名规则
](
/blog/golang/golang-identifier
.md
)
[
第八章 Golang 数据类型
](
/blog/golang/golang-typ
e.md
)
-
[
第六章 Golang变量
](
/blog/golang/golang-variabl
e.md
)
[
第九章 Golang 格式化输出
](
/blog/golang/golang-forma
t.md
)
-
[
第七章 Golang 常量
](
/blog/golang/golang-constan
t.md
)
[
第十章 Golang 运算符
](
/blog/golang/golang-operator
.md
)
-
[
第八章 Golang 数据类型
](
/blog/golang/golang-type
.md
)
[
第十一章 Golang 流程控制
](
/blog/golang/golang-process
.md
)
-
[
第九章 Golang 格式化输出
](
/blog/golang/golang-format
.md
)
[
第十二章 Golang 数组 array
](
/blog/golang/golang-array
.md
)
-
[
第十章 Golang 运算符
](
/blog/golang/golang-operator
.md
)
[
第十三章 Golang 切片 slice
](
/blog/golang/golang-slice
.md
)
-
[
第十一章 Golang 流程控制
](
/blog/golang/golang-process
.md
)
[
第十四章 Golang map
](
/blog/golang/golang-map.md
)
第三章 数据结构
[
第十五章 Golang 函数 func
](
/blog/golang/golang-function
.md
)
-
[
第十二章 Golang 数组 array
](
/blog/golang/golang-array
.md
)
[
第十六章 Golang 指针 pointer
](
/blog/golang/golang-pointer
.md
)
-
[
第十三章 Golang 切片 slice
](
/blog/golang/golang-slice
.md
)
[
第十七章 Golang 结构体 struct
](
/blog/golang/golang-struct
.md
)
-
[
第十四章 Golang map
](
/blog/golang/golang-map
.md
)
[
第十八章 Golang接口 interface
](
/blog/golang/golang-interface
.md
)
-
[
第十五章 Golang 函数 func
](
/blog/golang/golang-function
.md
)
[
第十九章 Golang包 package
](
/blog/golang/golang-package
.md
)
-
[
第十六章 Golang 指针 pointer
](
/blog/golang/golang-pointer
.md
)
第二十章 Golang 并发编程
-
[
第十七章 Golang 结构体 struct
](
/blog/golang/golang-struct.md
)
-
[
第十八章 Golang接口 interface
](
/blog/golang/golang-interface.md
)
-
[
第十九章 Golang包 package
](
/blog/golang/golang-package.md
)
第四章 Golang 并发编程
-
[
Golang 并发编程-协程
](
/blog/golang/golang-concurrency-goroutines.md
)
-
[
Golang 并发编程-协程
](
/blog/golang/golang-concurrency-goroutines.md
)
-
[
Golang 并发编程-channel
](
/blog/golang/golang-concurrency-channel.md
)
-
[
Golang 并发编程-channel
](
/blog/golang/golang-concurrency-channel.md
)
...
@@ -58,7 +64,7 @@
...
@@ -58,7 +64,7 @@
-
[
Golang 并发编程-Timer定时器
](
/blog/golang/golang-concurrency-Timer.md
)
-
[
Golang 并发编程-Timer定时器
](
/blog/golang/golang-concurrency-Timer.md
)
-
[
Golang 并发编程-Ticker 周期执行
](
/blog/golang/golang-concurrency-Ticker.md
)
-
[
Golang 并发编程-Ticker 周期执行
](
/blog/golang/golang-concurrency-Ticker.md
)
第
二十一
章 Golang标准库
第
五
章 Golang标准库
-
[
Golang标准库-os
](
/blog/golang/golang-standard-os.md
)
-
[
Golang标准库-os
](
/blog/golang/golang-standard-os.md
)
-
[
Golang标准库-io输入输出
](
/blog/golang/golang-standard-io.md
)
-
[
Golang标准库-io输入输出
](
/blog/golang/golang-standard-io.md
)
...
@@ -72,8 +78,15 @@
...
@@ -72,8 +78,15 @@
-
[
Golang标准库-time
](
/blog/golang/golang-standard-time.md
)
-
[
Golang标准库-time
](
/blog/golang/golang-standard-time.md
)
-
[
Golang标准库-json
](
/blog/golang/golang-standard-json.md
)
-
[
Golang标准库-json
](
/blog/golang/golang-standard-json.md
)
-
[
Golang标准库-xml
](
/blog/golang/golang-standard-xml.md
)
-
[
Golang标准库-xml
](
/blog/golang/golang-standard-xml.md
)
-
[
Golang标准库-math
](
/blog/golang/golang-standard-math.md
)
[
Golang操作MySQL数据库
](
/blog/golang/golang-mysql.md
)
第六章 MySQL数据库
https://www.bilibili.com/video/BV1ME411Y71o?p=27&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
https://www.bilibili.com/video/BV1ME411Y71o?p=27&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
https://www.bilibili.com/video/BV1zR4y1t7Wj/?p=98&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
\ No newline at end of file
https://www.bilibili.com/video/BV1zR4y1t7Wj/?p=103&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录