小编icz*_*cza的帖子

Java Swing UI属性列表?

似乎可以设置大量的UI属性

 UIManager.put("key", value);
Run Code Online (Sandbox Code Playgroud)

是否有可以设置的所有键的某个列表?

java documentation user-interface swing uimanager

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

去垃圾收集切片的部分?

如果我实现这样的队列......

package main

import(
    "fmt"
)

func PopFront(q *[]string) string {
    r := (*q)[0]
    *q = (*q)[1:len(*q)]
    return r
}

func PushBack(q *[]string, a string) {
    *q = append(*q, a)
}

func main() {
    q := make([]string, 0)

    PushBack(&q, "A")
    fmt.Println(q)
    PushBack(&q, "B")
    fmt.Println(q)
    PushBack(&q, "C")
    fmt.Println(q)

    PopFront(&q)
    fmt.Println(q)
    PopFront(&q)
    fmt.Println(q)      
}
Run Code Online (Sandbox Code Playgroud)

...我最终得到一个["A", "B", "C"]没有切片指向前两个元素的数组.由于切片的"开始"指针永远不会递减(AFAIK),因此永远不能访问这些元素.

Go的垃圾收集器是否足够智能以释放它们?

arrays garbage-collection go slice

16
推荐指数
2
解决办法
3361
查看次数

如何在golang中使用utf8将[]符号编码为[]字节?

所以很容易将a解码[]byte为a []rune(简单地转换为string,然后转换为[]rune非常好的工作,我假设它默认为utf8并且使用填充字节用于invalids).我的问题是 - 你怎么想把它解码[]rune[]byteutf8形式?

我错过了什么或者我是否已经为我的每一个符文手动调用EncodeRune[]rune?当然有一个编码器,我可以简单地传递Writer给.

string unicode utf-8 type-conversion go

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

数组与切片:访问速度

这个问题是关于访问数组和切片元素的速度,而不是关于将它们作为参数传递给函数的效率.

在大多数情况下,我希望数组切片更快,因为切片是描述数组的连续部分的数据结构,因此在访问切片的元素时可能会涉及额外的步骤(间接地是其底层数组的元素) .

所以我写了一个小测试来测试一批简单的操作.有4个基准函数,前2个测试全局切片和全局数组,另外2个测试局部切片和本地数组:

var gs = make([]byte, 1000) // Global slice
var ga [1000]byte           // Global array

func BenchmarkSliceGlobal(b *testing.B) {
    for i := 0; i < b.N; i++ {
        for j, v := range gs {
            gs[j]++; gs[j] = gs[j] + v + 10; gs[j] += v
        }
    }
}

func BenchmarkArrayGlobal(b *testing.B) {
    for i := 0; i < b.N; i++ {
        for j, v …
Run Code Online (Sandbox Code Playgroud)

arrays performance benchmarking go slice

16
推荐指数
2
解决办法
3420
查看次数

cookie和cookiejar有什么区别?

今天我面对的是"cookiejar"(包net/http/cookiejar).我试图收集一些有关它的信息,但没有得到任何理解.我知道cookie是服务器发送给客户端的键/值对,例如:Set-Cookie: foo=10浏览器将其存储在本地,然后每个后续请求浏览器将这些cookie发送回服务器,例如:Cookie: foo=10.

好的,但是cookiejar怎么样?它是什么以及它看起来如何?

cookies session go session-cookies

16
推荐指数
1
解决办法
6760
查看次数

调用具有特殊前缀/后缀的函数

我有一个名为"seeder"的包:

package seeder

import "fmt"

func MyFunc1() {
    fmt.Println("I am Masood")
}

func MyFunc2() {
    fmt.Println("I am a programmer")
}

func MyFunc3() {
    fmt.Println("I want to buy a car")
}
Run Code Online (Sandbox Code Playgroud)

现在我想用MyFunc前缀调用所有函数

package main

import "./seeder"

func main() {
    for k := 1; k <= 3; k++ {
        seeder.MyFunc1() // This calls MyFunc1 three times
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

for k := 1; k <= 3; k++ {
    seeder.MyFunc + k ()
}
Run Code Online (Sandbox Code Playgroud)

而这个输出:

I am Masood
I am a programmer
I …
Run Code Online (Sandbox Code Playgroud)

string function go

16
推荐指数
1
解决办法
2046
查看次数

为什么这些字符串的str == str.intern()结果不同?

public static void main(String[] args) {
    String str1 = new StringBuilder("???").append("??").toString();
    System.out.println(str1.intern() == str1);
    String str2 = new StringBuffer("ja").append("va").toString();
    System.out.println(str2.intern() == str2);
}
Run Code Online (Sandbox Code Playgroud)

结果:

 true
 false   
Run Code Online (Sandbox Code Playgroud)

第一个打印true,第二个打印false.为什么结果不同?

java string string-interning

15
推荐指数
2
解决办法
1045
查看次数

去切片 - 容量/长度?

试着从现在的教程中学习,并提出一个非常基本的问题:

 func main() {
  a := make([]int, 5)
  // [0,0,0,0,0] len=5 cap=5

  b := make([]int, 0, 5)
  // [] len=0 cap=5

  c := b[:2]
  // [0,0] len=2 cap=5

  d := c[2:5]
  // [0,0,0] len=3 cap=3
}
Run Code Online (Sandbox Code Playgroud)

为什么c看起来像是[0,0]长度2?b因为它原来并没有被归零[].因此,没有设置cb[:2]零出前两个元素?

另外,为什么容量为d3?非常困惑.

提前致谢.

arrays go slice

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

接口命名约定Golang

我只是发布我的代码:

/*
*  Role will ALWAYS reserve the session key "role".
 */
package goserver

const (
    ROLE_KEY string = "role"
)

type Role string

//if index is higher or equal than role, will pass
type RolesHierarchy []Role

func (r Role) String() string {
    return string(r)
}

func NewRole(session ServerSession) Role {
    return session.GetValue(ROLE_KEY).(Role)
}

func (this Role) IsRole(role Role, hierarchy RolesHierarchy) bool {
    if role == this {
        return true
    }
    if len(hierarchy) == 0 {
        return false
    }
    var …
Run Code Online (Sandbox Code Playgroud)

naming interface naming-conventions go

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

Go中的未命名参数是什么?

我正在Go for Go中编写一个解析器,为了测试它,我从github项目中下载了一堆文件.
https://github.com/andlabs/ui中,我碰到了包含这段代码的文件:

func moveLabel(*Button) {
    from := movingCurrent
    to := 0
    if from == 0 {
        to = 1
    }
    movingBoxes[from].Delete(0)
    movingBoxes[to].Append(movingLabel, false)
    movingCurrent = to
}
Run Code Online (Sandbox Code Playgroud)

有点让我感到困惑的是看到一个Button没有名字的指针作为函数参数,这使得无法从函数内部引用.
但是,鉴于编译器没有抱怨,它似乎在语法上是正确的.
Go中的unamed函数参数的目的是什么?

arguments go

15
推荐指数
2
解决办法
3411
查看次数