Skip to content

Instantly share code, notes, and snippets.

View fengyfei's full-sized avatar
🏠
Working from home

Feng Yifei fengyfei

🏠
Working from home
View GitHub Profile
@fengyfei
fengyfei / main.go
Last active July 19, 2019 03:08
[Go][Reflect] Name of Pointer Type
package main
import (
"fmt"
"reflect"
)
type Pod struct {
Name string
}
@fengyfei
fengyfei / main.go
Created June 14, 2019 04:58
[Go][Channel] Read from closed Channel
package main
import (
"fmt"
)
func main() {
ch := make(chan int)
close(ch)
@fengyfei
fengyfei / main.go
Created June 14, 2019 04:32
[Go][Channel] Read from nil
package main
import (
"fmt"
"sync"
"time"
)
func main() {
var (
@fengyfei
fengyfei / main.dart
Created May 30, 2019 06:47
[Dart] Getter/Setter Magic
abstract class VM {
Host get host => _host;
set host(Host h) {
_host = h;
}
Host _host;
void initialize(Host h) {
assert(_host == null);
@fengyfei
fengyfei / main.dart
Created May 28, 2019 13:38
[Dart] Chained Methods with Mixin
abstract class System {
System() {
initialize();
}
void initialize() {
print('System boot start...');
}
}
@fengyfei
fengyfei / main.dart
Created May 28, 2019 12:45
[Dart] Super Constructor
abstract class Shape {
Shape() {
print('Shape() constructor');
}
void transform();
}
class Circle extends Shape {
@override
@fengyfei
fengyfei / main.dart
Last active May 22, 2019 05:11
[dart:async]Controller.broadcast Basic Usage
import 'dart:async';
main() {
StreamTransformer transformer = StreamTransformer<num, num>.fromHandlers(
handleData: (num val, EventSink sink) {
sink.add(-val);
}
);
StreamController controller = StreamController<num>.broadcast(
onListen: () {
@fengyfei
fengyfei / main.dart
Created May 22, 2019 04:50
[dart:async] StreamTransformer Basic Usage
import 'dart:async';
main() {
StreamTransformer transformer = StreamTransformer<num, num>.fromHandlers(
handleData: (num val, EventSink sink) {
sink.add(val + 1);
}
);
StreamController controller = StreamController<num>();
Stream transformed = controller.stream.transform(transformer);
@fengyfei
fengyfei / main.dart
Created May 22, 2019 03:59
[dart:async] StreamController basic usage
import 'dart:async';
main() {
StreamController controller = StreamController();
controller.stream.listen((val) {
print('Event received: $val');
}, onDone: () {
print('Stream done');
});
@fengyfei
fengyfei / main.dart
Created May 21, 2019 12:04
[dart:async] Future Chain
import 'dart:core';
import 'dart:async';
Future<bool> exception = Future<bool>.delayed(Duration(seconds: 1), () {
print('Somehow, a exception happend...');
throw 'Just a Exception, freeze!';
});
Future procedure = Future(() {