Go语言中利用append巧妙的删除slice切片中的元素
发布时间: 2021-02-15 16:23:11 评论数: 0
数组[a b c],我要删掉第二个元素。余下[a c]注意参数的索引package main
import (
"fmt"
)
//删除函数
func remove(s []string, i int) []string {
return append(s[:i], s[i+1:]...)
}
func main() {
s := []string{"a", "b", "c"}
fmt.Println(s)
s = remove(s, 1)
fmt.Println(s)
} ......
Go语言生成指定长度范围的随机数值
发布时间: 2021-02-10 11:24:02 评论数: 0
想要生成1000-9999之间的随机数值import (
"math/big"
"crypto/rand"
)
func RandInt64(min,max int64) int64{
maxBigInt:=big.NewInt(max)
i,_:=rand.Int(rand.Reader,maxBigInt)
if i.Int64()<min{
RandInt64(min,max)
}
return i.Int64()
}调用rnd := util.RandInt64(1000,9999) ......
go fmt String接口
发布时间: 2021-02-04 04:47:18 评论数: 0
之前看到一段代码,输出接口让我无法理解,如下
package main
import "fmt"
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("%v (%v years)", p.Name, p.Age)
}
func main() {
a := Person{"Arthur Dent", 42}
z := Person{"Zaphod Beeblebrox" ......
go语言的iota
发布时间: 2021-01-30 08:53:27 评论数: 0
网上看了看iota.反正是没看大懂.给个例子自己悟吧package main
import (
"fmt"
)
const (
TestMin = -1
TestA
TestB = iota
TestC
)
func main() {
fmt.Printf("TestMin:%d\n", TestMin)
fmt.Printf("TestA:%d\n", TestA)
fmt.Printf("TestB:%d\n", TestB)
fmt.Printf("TestC:%d\n", TestC)
}输出结果TestMin:- ......
nsq nsqlookupd代码解析(二)
发布时间: 2021-01-17 16:06:09 评论数: 0
nsqlookupd.go Main里主要是侦听两个服务tcp 服务和http 服务
代码片段 github.com\nsqio\nsq\nsqlookupd\nsqlookupd.go
func (l *NSQLookupd) Main() {
ctx := &Context{l}
//监听tcp
tcpListener, err := net.Listen("tcp", l.opts.TCPAddress)
if err != nil {
l.logf(LOG_FATAL, "listen (%s) faile ......
GoLang语言中处理后台给过来的JSON格式的API数据
发布时间: 2021-01-09 18:07:43 评论数: 0
比如我要取如下json中的gid.而且是循环取.json格式大概如下.挺常见的.{
module: 'chat',
method: 'message',
result: 'success',
data:
[
{
id,
gid,
content,
},
....
]
}Go有一个json处理的函数,暂不管它。说说我实际中用到的部分//先判断有没有data
if _, ok := json["data"]; ok ......
Go原生支持javascript ajax post跨域请求的方法
发布时间: 2021-01-06 19:12:47 评论数: 0
最近开始入手Go.这儿将平时整理的记录一下.今天的需求是,客户端请求GoServer,然后需要支持跨域.开启贴代码模式func main() {
mux := http.NewServeMux()
mux.HandleFunc("/lvtao", lvtao)
if err := http.ListenAndServe("127.0.0.1:8080", mux); err != nil {
//这儿报错
}
}
func lvtao(w http.ResponseWriter, r *http.Request) {
......