Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jlchn/language-x
language x cheatsheet
https://github.com/jlchn/language-x
basics c cheatsheet go java javascript language shell
Last synced: 2 months ago
JSON representation
language x cheatsheet
- Host: GitHub
- URL: https://github.com/jlchn/language-x
- Owner: jlchn
- License: mit
- Created: 2019-10-06T03:48:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-01-21T09:31:00.000Z (almost 5 years ago)
- Last Synced: 2024-08-03T23:27:35.498Z (6 months ago)
- Topics: basics, c, cheatsheet, go, java, javascript, language, shell
- Homepage:
- Size: 69.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-golang-repositories - language-x
README
# basic types, operators, expressions
# control flow
## if, if else, else if
## loops (for, foreach, while, break, continue)
### for
```
- go
```go
for i := 0; i < len(os.Args); i++ {
fmt.Println(os.Args[i])
}
fmt.Println(s)
```## switch
- python
- no switch-case in python# object or struct
# pointers
# functions
### scope and external variables
- shell
``` bash
f1(){
local xxx=1
echo $xxx;
echo "all variables in a function are global like in js, set it with local to make them local variables"
echo "local can only be used in a function"
}
```## pass by value and pass by reference
## dynamic length variable
# array
### array to stream
- java
``` java
String[] array = {"a", "b", "c", "d", "e"};
Stream stream1 = Arrays.stream(array);
stream1.forEach(x -> System.out.println(x));
```## array to map
# list
### initialization
### access via index
### add, upate the list
### delete from the list
### traverse the list
### slice the list
### sort the list
### copy the list
- python
- python tuple
### reverse the list
### list to map
- java
``` java
Map map = list.stream().filter(
vo -> !vo.getEnvType().equals("commercial"))
.collect(
Collectors.toMap(vo -> String.join("@", vo.name(), vo.region()),
vo -> vo));
```
### numeric list operations# map
### initialization
### add, update map
### delete from map
### traverse the map
# enum
- java
``` java
// declare enum
public enum Day {
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}// print enum
System.out.println(Day.MONDAY);//MONDAY
System.out.println(Day.TUESDAY);//TUESDAY
System.out.println(Day.WEDNESDAY);//WEDNESDAY
System.out.println(Day.TUESDAY);//TUESDAY
System.out.println(Day.FRIDAY);//FRIDAY
System.out.println(Day.SATURDAY);//SATURDAY
System.out.println(Day.SUNDAY);//SUNDAY// get enum by string
Day day = Day.valueOf("FRIDAY");
System.out.println(day);//FRIDAY
day = Day.valueOf("WRONG");
System.out.println(day);//Exception in thread "main" java.lang.IllegalArgumentException: No enum constant com.company.Day.WRONG// loop over enum
for (Day day : Day.values()){
System.out.println(day);
}// switch by enum
Day day = Day.FRIDAY;
switch (day){
case MONDAY:
System.out.println(0);
break;
case TUESDAY:
System.out.println(1);
break;
case WEDNESDAY:
System.out.println(2);
break;
case THURSDAY:
System.out.println(3);
break;
case FRIDAY:
System.out.println(4);
break;
case SATURDAY:
System.out.println(5);
break;
case SUNDAY:
System.out.println(6);
break;
}// compare enum
Day day = Day.FRIDAY;
System.out.println(day==Day.FRIDAY);
```# string
### string initialization
### length
### to lower case and upper case
### trim
### start with and end with
### contains and index of
### join and split- java
``` java
// using String.join
String result = String.join("-", "2015", "10", "31" );// 2015-10-31
String result = String.join(", ", list);// using StringJoiner
StringJoiner sj = new StringJoiner(",");
sj.add("aaa");
sj.add("bbb");
String result = sj.toString(); // aaa,bbbStringJoiner sj = new StringJoiner("/", "prefix-", "-suffix");
sj.add("2016");
sj.add("02");
String result = sj.toString(); // prefix-2016/02-suffix// using lambda
String result = list.stream().map(x -> x).collect(Collectors.joining(" | "));```
### slice the string
### compare
### title
# type conversion# date and time
# json
- java gson
``` xml
/* To use Gson, add following to pom.xml */com.google.code.gson
gson
2.6.2```
``` java
// Convert java object to json string
User user = new User();
String userInString = new Gson().toJson(user);// Convert json string to java object
User user = new Gson().from(userInString,User.class);// Convert json array to java List
String jsonInstring = "[{\"tenant\":\"Google\"}, {\"tenant\":\"Facebook\"}]";
List list = gson.fromJson(jsonInString, new TypeToken>(){}.getType());
list.forEach(x -> System.out.println(x));// Convert json to java Map
String jsonInstring = "{\"tenant\":\"Google\", \"landscape\":"develop"}";
Map map = gson.fromJson(jsonInString, new TypeToken>(){}.getType());
map.forEach((x,y)-> System.out.println( x + "-" + y));
```# module
- python
# class
# errors and exceptions# file IO
- java``` java
// construct a file path
Paths.get(part1,part2,part3,.....)
// create file as well as dirs
Files.createDirectories(scriptPath.getParent());
Files.createFile(scriptPath);
// get a file or dir, create if not exists
File dir = FileUtils.getFile(path);
// delete a directory
FileUtils.deleteDirectory(dir);
// inputstream to file
FileUtils.copyInputStreamToFile(x.getInputStream(), targetFile);
```
# network IO# object oriented programming
## object lifecycle
## object initialization
## memory nodel
## reflect
## garbage collection
# process
# thread
# format
# read from stdin
# test
# dependency/package management
## go
``` bash
go get -u -v -f all # download all dependencies```
## maven for java
``` shell
mvn dependency:tree # check dependency
```## npm for node.js
```bash
npm search db # locate the modules by keywords db
npm install commander@">1.0.0" # greater than version 1.0.0
npm install [email protected] # exactly matches version 1.0.0
npm install commander@"=1.0.0" # exactly matches version 1.0.0
npm install commander@"~1.0.0" # greater than or equal to version 1.0.0 , but less than the mexe major versionnpm outdated [module-name] [-g] # display outdated packages [in golbal folder]
npm update [module-name] [-g] # update outdated packages [in golbal folder]npm adduser
npm publishnpm ls # view all the m-odules installed in current directory
npm ls -g # view all the modules installed in global directory
npm root -g # view the path that the global modules been installednpm rm module-name # remove a module
# linking packages is very useful if you are developing a module and want another project to reference your local copy of the module .
# a linked package can be refered as if it were a global package ,
# which is very similar to module installation .
#1. create global link
cd my-project & npm link # now your 'my-project' is a global module , you can verify using npm ls -g
#2. reference an existing link
cd other-project & npm link my-project # link my-project as a module in your other-project
#3.unlink package
cd other-project & npm unlink my-project
cd my-project & npm unlink```