3 common building blocks of functional language
-
Filter Use filter to produce a subset of a collection based on supplied filtering criteria.
-
Map
http://eloquentjavascript.net/
There are six basic types of values in JavaScript: numbers, strings, Booleans, objects, functions, and undefined values
JavaScript uses a fixed number of bits, namely 64 of them, to store a single number value
There are three special values in JavaScript that are considered numbers but don’t behave like normal numbers: Infinity, -Infinity and NaN
| package main | |
| import ( | |
| "fmt" | |
| "time" | |
| "github.com/csigo/metric" | |
| ) | |
| var ( |
| package main | |
| import ( | |
| "bufio" | |
| "flag" | |
| "fmt" | |
| "os/exec" | |
| "regexp" | |
| "strings" | |
| ) |
| func (e *Encryptor) Run(src, dst string) error { | |
| dat, err := ioutil.ReadFile(src) | |
| if err != nil { | |
| return nil | |
| } | |
| result := e.encrypt(dat) | |
| return ioutil.WriteFile(dst, result, 0644) | |
| } |
| func (e *Encryptor) Run(srcType, dstType string) error { | |
| var src []byte | |
| switch srcType { | |
| case "file": | |
| src = e.readFromFile(...) | |
| case "database": | |
| src = e.readFromDatabase(...) | |
| } | |
| // encrypt |
| func (e *Encryptor) Run(srcType, dstType string) error { | |
| var src []byte | |
| switch srcType { | |
| case "file": | |
| src = e.readFromFile(x, y, z) | |
| case "database": | |
| src = e.readFromDatabase(i, j) | |
| } | |
| // encrypt |
| func (e *Encryptor) Run( | |
| srcType, dstType, x, y, z, i, j string, | |
| ) error { | |
| var src []byte | |
| switch srcType { | |
| case "file": | |
| src = e.readFromFile(x, y, z) | |
| case "database": | |
| src = e.readFromDatabase(i, j) | |
| } |
| type IReader interface { | |
| Read() ([]byte, error) | |
| } | |
| type IWriter interface { | |
| Write(dat []byte) error | |
| } | |
| func (e *Encryptor) Run(r IReader, w IWriter) error { | |
| // read file |
| type fileReader struct { | |
| src string | |
| } | |
| func (f *fileReader) Read() ([]byte, error) { | |
| return ioutil.ReadFile(f.src) | |
| } | |
| type dbReader struct { | |
| host string |