我正在尝试测试通过DI接收对ElementRef的引用的组件.
import { Component, OnInit, ElementRef } from '@angular/core';
@Component({
selector: 'cp',
templateUrl: '...',
styleUrls: ['...']
})
export class MyComponent implements OnInit {
constructor(private elementRef: ElementRef) {
//stuffs
}
ngAfterViewInit() {
// things
}
ngOnInit() {
}
}
Run Code Online (Sandbox Code Playgroud)
和测试:
import {
beforeEach,
beforeEachProviders,
describe,
expect,
it,
inject,
} from '@angular/core/testing';
import { ComponentFixture, TestComponentBuilder } from '@angular/compiler/testing';
import { Component, Renderer, ElementRef } from '@angular/core';
import { By } from '@angular/platform-browser';
describe('Component: My', () => {
let builder: TestComponentBuilder;
beforeEachProviders(() …
Run Code Online (Sandbox Code Playgroud) 我试图在Go中将HUP信号发送给tor.
command := exec.Command("pidof tor | xargs kill -HUP")
command.Dir = "/bin"
if cmdOut, err := command.CombinedOutput(); err != nil {
log.Panic("There was an error running HUP ", string(cmdOut), err)
panic(err)
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多版本的这个(带/出args,带/出Dir,......)它总是会带来同样的错误:
2017/06/27 13:36:31 There was an error running HUP exec: "pidof tor | xargs kill -HUP": executable file not found in $PATH
panic: There was an error running HUP exec: "pidof tor | xargs kill -HUP": executable file not found in $PATH
goroutine 1 [running]:
panic(0x639ac0, 0xc42000d260)
/usr/local/go/src/runtime/panic.go:500 …
Run Code Online (Sandbox Code Playgroud) 我已经在最新版本的Atom上自动完成并自动完成+安装.不幸的是,这些包在输入纯文本作为开放式办公室或某些崇高包时不会自动完成或建议单词.
例如,如果我正在键入repo并且单词存储库已经出现在当前文档中,我希望能够显示某种自动完成/智能感知.
我徒劳地看着原子包装实现了这一点.
所以,问题是,你知道在原子中做任何包的方法或者有关如何创建它的任何直觉吗?
谢谢.
Github 最近推出了该项目功能.
当项目处于repo级别时,如果repo本身是公共的,那么任何人都可以访问这些项目.
但是,组织级别的项目仅对组织成员可见.
例如, https://github.com/Toolwatchapp有一个项目,但如果没有登录Github就无法看到它.
有没有办法让组织项目公开?
谢谢,M.
我正在为我正在建造的图书馆使用反射,但有一些我不明白的东西reflect.New
.
type A struct {
A int
B string
}
func main() {
real := new(A)
reflected := reflect.New(reflect.TypeOf(real)).Elem().Interface()
fmt.Println(real)
fmt.Println(reflected)
}
Run Code Online (Sandbox Code Playgroud)
得到:
$ go run *go
&{0 }
<nil>
Run Code Online (Sandbox Code Playgroud)
是不是也reflect.New
应该回来&{0 }
?(Runnable版)
最终,我希望能够遍历反射结构(reflected.NumField()
给出reflected.NumField undefined (type interface {} is interface with no methods)
)和使用的字段SetInt
,SetString
依此类推.
谢谢,
我正在研究一个用于mysql的库/包装器.对于我的API的使用,我想象的是:
model
.Select("INTERNAL_ID")
.Select("EXTERNAL_ID")
.Find(1);
Run Code Online (Sandbox Code Playgroud)
例如,具有以下功能:
func (model SQLModel) Select(selectString string) SQLModel
func (model SQLModel) Find(id int) interface{}
Run Code Online (Sandbox Code Playgroud)
问题是我不能像go/fmt抱怨那样将我的函数调用分成多行:syntax error: unexpected ., expecting }
每次休息.
现在,我可以去:
model.Select("INTERNAL_ID").Select("EXTERNAL_ID").Find(1)
Run Code Online (Sandbox Code Playgroud)
但随着API的增长(在哪里,加入,求和等......),它将很快变得难以阅读.
那么,如何在GO中拆分函数调用?
谢谢,
我是Go的新手,我已经做了很长时间的OOP.现在,我理解继承是通过组合完成的,但是......我想在一个期望泛化的函数中发送一个特化:
package main
import (
"fmt"
)
type A struct {
ONE int
}
type B struct {
A
ANOTHER int
}
func main() {
fmt.Println("Hello, playground")
a := A{1}
b := B{a, 2}
fmt.Println(a.ONE)
fmt.Println(b.ANOTHER)
takeA(&b)
}
func takeA(a *A) {
fmt.Println(a.ONE)
}
Run Code Online (Sandbox Code Playgroud)
当然,我可以这样做,takeA(&b.A)
但它会破坏我想要设置的层次结构,因为一些A字段/方法可能会被B阴影化.
有没有解决的办法?或者我应该创建一个哑的界面,例如:
package main
import (
"fmt"
)
type A struct {
ONE int
}
func (a A) getOne() int{
return a.ONE
}
type B struct {
A
ANOTHER int
}
type HasOne interface …
Run Code Online (Sandbox Code Playgroud) go ×4
angular ×1
atom-editor ×1
autocomplete ×1
exec ×1
gist ×1
github ×1
intellisense ×1
plaintext ×1
pointers ×1
reflection ×1
struct ×1
tor ×1
unit-testing ×1