小编han*_*son的帖子

在Go中有指针有什么意义?

我知道Go中的指针允许函数参数的变异,但如果它们只采用引用(使用适当的const或可变限定符),它就不会更简单.现在我们有指针和一些内置类型,如地图和通道隐式传递引用.

我是否遗漏了某些内容或指向Go只是一个不必要的并发症?

pointers go

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

Django形式,继承和表单字段的顺序

我在我的网站上使用Django表单,并希望控制字段的顺序.

这是我定义表单的方式:

class edit_form(forms.Form):
    summary = forms.CharField()
    description = forms.CharField(widget=forms.TextArea)


class create_form(edit_form):
    name = forms.CharField()
Run Code Online (Sandbox Code Playgroud)

该名称是不可变的,只应在创建实体时列出.我使用继承来增加一致性和DRY原则.事实上完全预料到的不是错误的是名称字段在视图/ html的最后列出,但我希望名称字段位于摘要和描述之上.我确实意识到我可以通过将摘要和描述复制到create_form并松散继承来轻松修复它,但我想知道这是否可行.

为什么?想象一下,你在edit_form中有100个字段,并且必须在create_form的顶部添加10个字段 - 复制和维护这两个表单看起来不那么性感.(这不是我的情况,我只是编写一个例子)

那么,我该如何覆盖这种行为呢?

编辑:

显然没有正确的方法来做到这一点,而不经历讨厌的黑客(摆弄.field属性)..field属性是SortedDict(Django的内部数据结构之一),它不提供任何重新排序键:值对的方法.它确实提供了一种在给定索引处插入项目的方法,但这会将项目从类成员移动到构造函数中.这种方法可行,但使代码可读性降低.我认为唯一合适的另一种方法是修改框架本身,这在大多数情况下都不是最优的.

简而言之,代码将变成这样的:

class edit_form(forms.Form):
    summary = forms.CharField()
    description = forms.CharField(widget=forms.TextArea)


class create_form(edit_form):
    def __init__(self,*args,**kwargs):
        forms.Form.__init__(self,*args,**kwargs)

        self.fields.insert(0,'name',forms.CharField())
Run Code Online (Sandbox Code Playgroud)

这让我闭嘴:)

python django django-forms

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

如何在Go中获得系统命令的输出?

假设我想在go程序中运行'ls',并将结果存储在一个字符串中.似乎有一些命令在exec和os包中派生进程,但它们需要stdout等的文件参数.有没有办法将输出作为字符串?

go

48
推荐指数
5
解决办法
5万
查看次数

轻松地按字母顺序获取地图中的键

在Go中,按字母顺序排列地图中按键的最简单方法是什么?这是我能做到的最短路:

package main

import "container/vector"
import "fmt"
import "sort"

func main() {
    m := map[string]string {"b":"15", "z":"123123", "x":"sdf", "a":"12"}
    var keys vector.StringVector;
    for k,_ := range ( m ) {
            keys.Push(k)
    }
    sort.Sort( &keys )
    fmt.Printf("%v\n", keys)
}
Run Code Online (Sandbox Code Playgroud)

sorting map go

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

CSS根据HTML选择选项值选择另一个元素

是否有CSS选择器允许我根据HTML选择选项值选择元素?

<select>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

<p>Display only if an option with value 1 is selected</p>
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种HTML/CSS方法,只显示选定数量的表单字段.我已经知道如何用Javascript做到这一点.

有没有办法做到这一点?


编辑:

问题标题可能会产生误导.我不是要尝试选择框的样式,这已经非常普遍并且已经有很多答案了.我实际上是在尝试<P>根据选中的值设置元素的样式<select>.

我真正想做的是根据选定的数值显示多个表单域:

<select name="number-of-stuffs">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<div class="stuff-1">
     <input type="text" name="stuff-1-detail">
     <input type="text" name="stuff-1-detail2">
</div>
<div class="stuff-2" style="display:none"> 
     <input type="text" name="stuff-2-detail">
     <input type="text" name="stuff-2-detail2">
</div>
<div class="stuff-3" style="display:none">
     <input type="text" name="stuff-3-detail">
     <input type="text" name="stuff-4-detail2">
</div>
Run Code Online (Sandbox Code Playgroud)

我想显示div.stuff-1div.stuff-2当数的食料= 2且display div.stuff-1 div.stuff-2以及div.stuff-3当东西= 2的数.

像这样的 …

html css css-selectors

29
推荐指数
1
解决办法
6万
查看次数

使用GUI设计支持转到IDE

我正在研究Go语言,但我想知道是否有任何IDE仅为它开发,但它具有GUI设计功能,如Visual Studio和Netbeans.

ide gui-designer go

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

Go中的共享库?

是否可以使用Go创建共享库(.so)?

更新:为它创建了一个" 问题 ".

shared-libraries go

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

EGL和OpenGL之间有什么关系?

我正在写一个实现开放式VGOpenGL的| ES,这两者取决于Khronos的EGL API,据说是为了便于携带,我猜.

出于乐趣和教育原因,我正在OpenGL ES上编写一个OpenVG实现 - 我没有做过很多渲染工作,我想了解更多有关开放API和实践明确标准的实践(更容易看看我是否得到了正确的结果).

据我了解,EGL提供了一个标准API,用于检索绘图上下文(或者它正确调用的内容),而不是使用多个OS提供的API之一(GLX,WGL等)

在此输入图像描述

我很难相信Khronos会经历这样的努力并将标准OpenGL从循环中移开但事实是,我还没有发现OpenGL(真正的交易)如何或者是否与EGL接口或者它是否只是OpenGL ES.如果OpenGL ES可以使用EGL的绘图上下文,标准OpenGL是否也可以使用?

我对这一切都很陌生,这就是为什么我很兴奋,但我正在做的真正项目是一个Go小部件工具包,它利用OpenVG进行绘图操作,并尽可能使用硬件加速.

如果OpenVG,OpenGL和OpenGL ES依赖于EGL,我认为我的问题可以用"是"或"否"来回答.请记住,我昨晚首先进入了这个主题.

OpenGL使用或依赖于EGL吗?


关闭主题,但没有EGL标记.应该有吗?

opengl opengl-es openvg egl

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

go的多包makefile示例

我正在尝试设置类似的多包项目

./main.go

./subpackage1/sub1_1.go

./subpackage1/sub1_2.go

./subpackage2/sub2_1.go

./subpackage2/sub2_2.go

其中main.go同时导入subpackage1和subpackage2.而subpackage2导入subpackage1.

我一直在寻找去makefile的例子,但我找不到任何支持这种设置的东西.任何的想法?

makefile go

22
推荐指数
3
解决办法
9423
查看次数

Go和Java使用用户空间线程的事实是否意味着你无法真正利用多核心?

我们最近一直在讨论操作系统类中的线程,我想到了一个问题.

由于Go,(和Java)使用用户空间线程而不是内核线程,这是否意味着您无法有效利用多个内核,因为操作系统只为进程分配CPU时间而不是线程本身?

这似乎证实了你不能这样做的事实

维基百科似乎也这么认为

java multithreading go goroutine

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