/
char.go
52 lines (43 loc) · 1.28 KB
/
char.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Copyright 2019 Alexey Krivonogov. All rights reserved.
// Use of this source code is governed by a MIT license
// that can be found in the LICENSE file.
package vm
// AddºCharChar adds two rune values
func AddºCharChar(left, right int64) string {
return string(rune(left)) + string(rune(right))
}
// AddºCharStr appends rune to string
func AddºCharStr(left int64, right string) string {
return string(rune(left)) + right
}
// AddºStrChar appends rune to string
func AddºStrChar(left string, right int64) string {
return left + string(rune(right))
}
// AssignAddºStrChar appends one rune to string
func AssignAddºStrChar(ptr *string, value interface{}) (string, error) {
*ptr += string(rune(value.(int64)))
return *ptr, nil
}
// ExpStrºChar adds string and char in string expression
func ExpStrºChar(left string, right int64) string {
return left + string(rune(right))
}
// GreaterºCharChar returns true if left > right
func GreaterºCharChar(left, right int64) int64 {
if rune(left) > rune(right) {
return 1
}
return 0
}
// LessºCharChar returns true if left < right
func LessºCharChar(left, right int64) int64 {
if rune(left) < rune(right) {
return 1
}
return 0
}
// strºChar converts char value to string
func strºChar(val int64) string {
return string(rune(val))
}