-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path4atypes.go
76 lines (53 loc) · 2.44 KB
/
4atypes.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
////////////////////////////////////////////////////////////////////////////
////////////////////// ОСНОВНЫЕ ТИПЫ ////////////////////////////////
//////////////////////////////////////////////////////////////////////////
package main
import (
"fmt"
"reflect"
)
var a4 bool = false
var b4 string = "string"
/* побитовый размах диапазона 8, 16, 32 бита то есть 2*8, 2*16 и тд.
Это нужно для того чтобы экономно выделять память */
var symplyint = 1
var c4 int8 = 127 //от -128 до +128
var d4 int16 = -32768 //–32768 до 32767
var e4 int32 = 2147483647 //–2147483648 до 2147483647
/*то же самое только целое число - unsigned*/
var symplyuint = 1
var f4 uint8 = 255 //от 0 до 255
var g4 uint16 = 32768 //от 0 до 2*10^16-1
var h4 uint32 = 2147483647 //от 0 до 2*10^32-1
//////////////////////////////
var i4 byte = 255 //то же что и uint8
var j4 rune = 10000000 //то же что и int32 - пространство Юникода ( 2^31)
/////////////////////////
var k4 float32 = 1.1555556 //округляет до определенного диапазона после запятой
var l4 float64 = 1.155555555555550001111114444444444444444444444444444444444444333333
////////////////////////
//комплексные числа: 1 часть числа явная, а вторая - мнимая i= корень с -1
var m4 complex64 = -1 + 130i
var n4 complex128 = -1 + 100i
//////////////////
//указатель на адрес в памяти тип uinptr, получить можно с помощью ссылки & на что либо
//todo для чего используется?
var uinptr4 uintptr = 0x538490 //
func main() {
/*получить тип переменной*/
fmt.Println(reflect.TypeOf(uinptr4)) //uinptr4
/*сконвертировать один тип в другой: type(variable)*/
v := string(uinptr4)
fmt.Println(reflect.TypeOf(v)) //string
}
//Зачем?
// иногда полезно экономить память и указывать сразу тип с ограничителем,
// например int8 вместо int
// Простой пример комплексного типа i := 1+1i
///////////ДОПОЛНИТЕЛЬНО
//константы, не изменяются до конца кода
const myConst = 1
const (
AAA = 1
BBB = 2
)