package main import ( "fmt" _ "github.com/jinzhu/gorm/dialects/mysql" "github.com/jinzhu/gorm" "time") var ( //变量db 通过init直接初始化 db *gorm.DB err error dbinfo string) const ( //定义db的连接信息 dbuser string = "root&qu
服务器demo 测试路由 浏览器url输入不能测试POST请求!!!看清楚是get请求再测 login:1 GET http://127.0.0.1:8080/douyin/user/login 404 (Not Found) 修改完代码要马上重启服务 这是一个结构体(go里省略分号),Response(这也是结构体,里面有StatusCode,StatusMsg),一部分是自定义数据
参考文档:https://pkg.go.dev/flag@go1.18.2 应用:Package flag implements command-line flag parsing. 示例:util 包 package util import ( "fmt" "strings" ) type StringList []string func (sl *StringList) String() string { return fmt.Sprint(*
1 go module 设置 https://goproxy.cn/(1) go module启用命令行输入: go env -w GO111MODULE=auto或初始化Go moudle,在目录下运行下面命令: go mod init XXX //xxx代表文件夹名(2) go module代理设置go env -w GOPROXY=https://goproxy.cn,direct 2 变量 (1) Go语言中的每一个变
创建文件 import ( "fmt" "os" ) func main() { //创建文件时,需要指定文件的存储路径以及文件名称 file, err := os.Create("D:/Test/a.txt") if err != nil { fmt.Println(err) } //对文件进行操作 //关闭 defer表示延迟执行 d
代码展示 服务端 package main import ( "fmt" "net" "strings" ) func main(){ Conn,err:=net.ListenUDP("udp",&net.UDPAddr{ IP: net.IPv4(127,0,0,1), Port: 40000, }) if err != nil {
Go执行一个windows命令行(cmd)命令 1、生成桌面的所有文件信息 package main import ( "fmt" "os/exec" ) func main() { c := exec.Command("cmd", "/C", "dir", ">", "C:\\Desktop\\test.txt") if err := c.
函数 函数的定义 基本格式 参数的格式 有参数的函数 参数类型简写 可变参数 返回值的格式 有返回值 多返回值 命名返回值 变量作用域 全局作用域 函数作用域 先在函数内部找变量,找不到往外层找 函数内部的变量,外部是访问不到的 代码块作用域 高阶函数 函数也是一种类型,它可以
go 常用标准库 I/O操作 1.1 格式化输出 2.1 标准化输入 fmt.Println("please input two word") var word1 string var word2 string //读入多个单词,空格分隔。如果输入了更多单词会被缓存起来,丢给下一次scan fmt.Scan(&word1, &word2) fmt.Println("please input an int") var
go 常用标准库 时间函数 1.1 时间的解析和格式化 #格式TIME_FMT为 2006-01-02 15:04:05 TIME_FMT := "2006-01-02 15:04:05" #获取当前时间 2022-05-11 13:06:16.1146258 +0800 CST m=+0.016836601 now := time.Now() #前面定义TIME_FMT这样的时间格式,然后用now获取到当前时间,用T
在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的token、请求的截止
被测试端 package main import ( "bufio" "fmt" "os" ) func main() { input := bufio.NewScanner(os.Stdin) fmt.Println("999") for input.Scan() { line := input.Text() // 输入bye时 结束 if line == "exit" {
将 "秒" 解析为时间单位 在本例中,使用一个数值表示时间中的 "秒" 值,然后使用 resolveTime() 函数将传入的秒数转换为天、小时和分钟等时间单位。 package main import ( "fmt" ) const ( //定义每分钟的秒数 SecondsPerMinute = 60 //定义每小时的秒
准备kubeconfig文件,自行准备 安装依赖包 go get k8s.io/client-go@v0.20.10 开始连接 const ( kubeConfig = "config/kubectl.kubeconfig" ) func main(){ conf, err := clientcmd.BuildConfigFromFlags("", kubeConfig) if err != nil { fmt.Println(&
for select时,如果通道已经关闭会怎么样?如果只有一个case呢? select用于监听channel,在通道关闭时,channel会返回类型的空值,直接用`<-`取值时无论通道是否关闭都会有值返回.所以当使用select监听通道时,如果某个channel已经关闭,则每次都会执行这个case; 如果只有
Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现 map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。map 这种数据结构在其他编程语言中也称为字典(Python)、hash 和 HashTable 等。 Map 是一种无序的键值对的集合。Map 最重要的一点是
package main import ( "fmt" "os" "bufio" "strings" ) func receiveStringsFromStdin() string { fmt.Printf("请输入一个字符串: ") reader := bufio.NewReader(os.Stdin) r, _ := reader.ReadString('\n'
变量声明 切片:可变长度数组 c:=make([]string,3) good:=[]string{"a","b","c","d"} append(s,"d") //增补 s[2:5] //第(2,3,4)个元素 map: make(map[string]int) string-int 删除:delete(m,"one") 遍历:无序
go init函数 1.1 init函数 init和defer是有区别的,init是针对main的主程序,而defer是针对函数的 main函数是go程序的唯一入口,所以main函数只能存在一个 main函数必须位于main包中 在main函数执行之前会先执行init函数 在一个目录,甚至一个go文件里,init()可以重复定义 在引入其他包时,相
s := "hello中国" a := []rune(s) for k, v := range a { fmt.Printf("%d - %c", k, v) fmt.Println() } //截取字符串 fmt.Println(string(a[5:])) //字符个数 fmt.Println(utf8.RuneCountInString(s)) 输出: 0 - h 1 - e 2 - l 3 - l 4 - o 5 - 中 6 -
将字符串以下划线分割 下面的代码会将给定的字符串以下划线分割。 import ( "fmt" "strings" "regexp")func main() { snakeCase := ConvertToSnakeCase("ILikeProgrammingINGo123") fmt.Println("String in snake case : ", snakeCase)}func Conv
1. 切片Slice 需要说明:slice并不是数组或数组指针。它通过内部指针和相关属性引用数组片段,以实现变长方案. 1. 切片:切片是数组的一个引用,因此切片是引用类型。但自身是结构体,值拷贝传递。 2. 切片的长度可以改变,因此,切片是一个可变的数组。 3. 切片遍历方式和数组一样
Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现。 一、net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的实现。 1.1 HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守
目录需求开发的步骤linux下如何开发Go程序MAC下如何开发Go程序Golang执行流程分析编译和运行说明Go程序开发的注意事项Go语言的转义字符(escapechar)Golang开发常见的问题和解决方法注释规范的代码风格Golang 官方编程指南 需求 要求开发一个hello.go程序,可以输出helloworld 开发的
在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定义包,如何导出包的内容及如何导入其他包。 一、包介绍 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。 二、定义包 我们还