golang写的简单的短地址服务,只做练手用,还有很多不完善的地方
TODO:
验证URL的有效性;
确认URL的协议(http、https)
数据库操作优化
现在的路由太简单了
下面贴上代码
package main
import (
"database/sql"
"fmt"
"net/http"
"io/ioutil"
"encoding/json"
_ "github.com/go-sql-driver/mysql"
)
var elements = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
var db *sql.DB
type returnData struct {
ShortUrl string
LongUrl string
}
//这里首字母一定要大写
//json数据与struct字段相匹配时,会查找与json中key相同的可导出字段(首字母大写)
type postData struct {
LongUrl string
}
func main() {
Init()
http.HandleFunc("/", simpleRoute)
err := http.ListenAndServe(":9090", nil)
if err != nil {
panic(err)
}
}
func Init() {
db, _ = sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/shortener")
//defer db.Close()
}
//十进制转换成62进制
func base10ToBase62(n int64) string {
var str string
for n != 0 {
str += string(elements[n % 62])
n /= 62
}
for len(str) != 5 {
str +
Golang实战:构建短地址服务

这篇博客分享了使用Golang实现的一个简易短地址服务的实践过程,目前主要用于学习和练习,还有待完善,包括URL有效性的验证、协议确认以及数据库操作的优化等。
最低0.47元/天 解锁文章
719

被折叠的 条评论
为什么被折叠?



