小编pet*_*rSO的帖子

用Go操纵水印图像

我想找一些关于制作水印图像的例子,用Go语言编写!

我需要一个水印图像的PNG图像,可以应用于其他格式PNG,GIF,JPEG等,

我希望你能给我一些实际的例子.

watermark image image-processing go

15
推荐指数
1
解决办法
2885
查看次数

将[]字符串转换为[]字节

我希望将字符串数组转换为GO中的字节数组,以便将其写入磁盘.将字符串数组([]string)编码和解码为字节数组([]byte)的最佳解决方案是什么?

我想要迭代字符串数组两次,第一次获得字节数组所需的实际大小,然后第二次[]byte(str)为每个元素写入长度和实际字符串().

解决方案必须能够以另一种方式转换它; 从a []byte到a []string.

go

14
推荐指数
2
解决办法
1万
查看次数

在Go中初始化自定义int类型

在Go中,创建类型是有效的:

type Num int
Run Code Online (Sandbox Code Playgroud)

但是如何才能初始化那种类型呢?make(Num,2)似乎不起作用.

types go

13
推荐指数
1
解决办法
7225
查看次数

在Go中,如何为具有字符串基类型的类型创建"构造函数"?

想有一个类型Char是一个string一个字符.我无法做的是创建一个"构造函数".我知道我错过了一些完全明显的东西.

声明Char类型

  type Char string

可以在声明中使用该类型

  var c1 Char("abc")
  var c2 Char = "abc"

这些都是错误的: c1c2需要是"a",而不是"ABC"

我真正想要的是一个将Char限制为一个字符的"构造函数"

 func Char( s string ) Char {
   var ch string = s[0]
   return ch
 }

当然有,type Charfunc Char不是这样做的方式

 type.go:8: Char redeclared in this block

有没有办法强制type通过构造函数初始化?或者我甚至问正确的问题?

让我的状态是不同的:如果用户说var c Char = "abc",他们将有类型的值无效Char-没有任何办法强迫用户到func NewChar(string) Char作为Char唯一有效的构造?

constructor types go

12
推荐指数
1
解决办法
9450
查看次数

为什么指向局部变量的指针会转义到堆?

这是我的环境:

[lorneli@localhost GoTest]$ go version
go version go1.9 linux/amd64
Run Code Online (Sandbox Code Playgroud)

这是我的计划:

package main

type request struct {
    ID string
    size uint32
    off uint64
}

func main() {
    r := request{}
    iter := interface{}(&r) // &r escapes to heap
    iters := make([]interface{}, 0)
    iters = append(iters, iter)
}
Run Code Online (Sandbox Code Playgroud)

我分配一个request实例并将其指针转换为interface{}.但是在使用flag进行分析时-gcflags "-m",我发现转换时实例会转义为堆.为什么会这样?

这是分析结果:

[lorneli@localhost GoTest]$ go build -gcflags "-m"
# _/mnt/hgfs/vmfolder/workspace/GoTest
./main.go:9:6: can inline main
./main.go:11:21: (interface {})(&r) escapes to heap
./main.go:11:22: &r escapes to heap
./main.go:10:15: moved …
Run Code Online (Sandbox Code Playgroud)

heap go

8
推荐指数
1
解决办法
943
查看次数

读取csv文件时如何跳过第一行?

我有一个笨拙的 csv 文件,我需要跳过第一行来阅读它。

我用 python/pandas 很容易做到这一点

df = pd.read_csv(filename, skiprows=1)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 Go 中做到这一点。

package main

import (
    "encoding/csv"
    "fmt"
    "log"
    "os"
)

type mwericsson struct {
    id     string
    name   string
    region string
}

func main() {

    rows := readSample()

    fmt.Println(rows)
    //appendSum(rows)
    //writeChanges(rows)
}

func readSample() [][]string {
    f, err := os.Open("D:/in/20190629/PM_IG30014_15_201906290015_01.csv")
    if err != nil {
        log.Fatal(err)
    }
    rows, err := csv.NewReader(f).ReadAll()
    f.Close()
    if err != nil {
        log.Fatal(err)
    }
    return rows
}
Run Code Online (Sandbox Code Playgroud)

错误:

2019/07/01 12:38:40 record on line 2: …
Run Code Online (Sandbox Code Playgroud)

go

8
推荐指数
2
解决办法
6654
查看次数

thinkworks去vs atlassian bamboo

有没有人对其他人有任何评论.

我们正在考虑尝试将我们的发布过程从开发自动化到测试到生产,包括运行单元测试,进行代码审查以及对允许谁将UAT中的构建推送到生产中的权限.

release-management bamboo

7
推荐指数
1
解决办法
7419
查看次数

全局变量/获取命令行参数并打印它

这可能听起来很愚蠢,但我如何在Go中定义一个全局变量?const myglobalvariable = "Hi there!"真的没有用......

我只想获得命令行参数,然后我想打印它.我使用此代码段执行此操作:

package main

import (
    "flag"
    "fmt"
)

func main() {
    gettext();
    fmt.Println(text)
}

func gettext() {
    flag.Parse()
    text := flag.Args()
    if len(text) < 1 {
        fmt.Println("Please give me some text!")
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,它只是打印一个空行,所以我想要声明一个全局变量使用,const myglobalvariable = "Hi there!"但我只是得到错误cannot use flag.Args() (type []string) as type ideal string in assignment......我知道这是一个菜鸟问题,所以我希望你能帮助我......

global-variables go

7
推荐指数
3
解决办法
3万
查看次数

如何安装雨果?

hugo_0.11_linux_amd64.tar.gz已从发布页面下载并解压缩该文件,但我无法弄清楚如何运行二进制文件.我花了几个刺在使用go runsh,但没有运气.任何人都可以提供更多细节吗?

go hugo

7
推荐指数
1
解决办法
4521
查看次数

Golang初学者,在Windows上:系统找不到指定的文件

现在才刚刚开始接触golang,在此之前只有少量的编程经验。我正在尝试创建一个脚本来总结 csv 文件中的某些内容,但我什至还没有通过文件读取测试。

我在读取 Excel 文件时遇到问题,并不断收到“系统找不到指定的文件”错误。所以我想看看我是否至少可以让它读取一个简单的文本文件,使用 golangbot 的示例,如下所示:

package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    data, err := ioutil.ReadFile("test.txt")
    if err != nil {
        fmt.Println("File reading error", err)
        return
    }
    fmt.Println("Contents of file:", string(data))
}
Run Code Online (Sandbox Code Playgroud)

就这么简单。该文本文件与我尝试运行的实际代码文件位于同一文件夹中(在 %USERPROFILE%/go/src 中,/go/ 是我的 GOPATH),是的,它被称为“test.txt” 。然而,每次尝试运行都会给我相同的错误消息,即系统找不到指定的文件(test.txt)。

运行任何其他类型的 .go 文件或从该位置构建一个文件都可以正常工作。我见过其他人遇到此错误,但似乎总是与 GOPATH 设置错误有关。

我很沮丧,我什至不得不问这样的事情,但这是我现在能想到的。我的文件位置或 GOPATH 本身是否有问题,或者有什么不同?

谢谢

go visual-studio-code

7
推荐指数
1
解决办法
2万
查看次数