2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Si et in precedente articulo introducimus.continue
Editio summa numerorum parium intra 100 computare. Ut scribimus codice,continue
Propositio adiuvabit nos omittere quasdam iterationes quae non sunt necessariae, exempli gratia, in hoc exemplo omnes numeros impares praetermittemus.
- sum := 0
- for i := 1; i < 100; i++{
- if i & 1 == 0 {
- continue
- }
- sum += i
- }
-
- fmt.Println("the sum is",sum)
In programmando saepe opus est de elementis eiusdem generis agere, et hae elementa elementa certis structuris in lingua Go. Hodie pluribus generibus collectionum te introducam in speciali: ordinata, scalpere et tabula.
Primum, cum vestit incipiamus. Ordinata est structura principalissima in Go. Ordo declaratur, longitudo mutari non potest. Vestium declaratio et initialization valde simplex sunt;
Cum annuntiem ordinem, opus est ut speciem ordinatam et ordinatam longitudinem definias. Ecce quomodo ordo declaratur;
var arrayName [arrayLength]elementType
Exempli gratia integram longitudinis aciem V;
var numbers [5]int
Ordinare potes initialize variis modis:
var numbers = [5]int{1, 2, 3, 4, 5}
:=
Brevis editio:numbers := [5]int{1, 2, 3, 4, 5}
numbers := [...]int{1, 2, 3, 4, 5}
numbers := [5]int{0: 1, 4: 5}
Accedere potes elementis ordinatis per indicem, ab 0 incipiens:
value := numbers[2] // 获取索引为 2 的元素
vos can utorfor
Ansa per omnia elementa in aciem instruuntur;
- for i, value := range numbers {
- fmt.Printf("Index: %d, Value: %dn", i, value)
- }
Vos can uti constructum-inlen
Munus ad longitudinem ordinata;
length := len(numbers)
Si ordinatio explicite non initializata est, elementa eius automatice posita sunt ad nullius pretii sui generis. Exempli gratia, nullius valoris numeri integri est 0:
var numbers [5]int // 所有元素都是 0
Lingua Ire etiam multi dimensiones vestit sustinet. Exemplum est talis declarandi et initialisandi 2x3 integer instructus:
- var matrix [2][3]int
- matrix = [2][3]int{{1, 2, 3}, {4, 5, 6}}
Cum diuturnitas ordinata sit, hoc in quibusdam flexibile esse non potest. Si collectione variabili longitudine indigeas, segmentis uti potes.
Proxima est frustum, quod flexibilius aedificatur in specie, quae tamquam ordinata dynamica cogitari potest. Longitudo segmenti variabilis est et secundum aciem ordinatur, commodius providens. Hic est quomodo enuntiet et initialize frustum:
- s := make([]int, 3) // 创建一个长度为3的整型切片
- s[0] = 1 // 切片元素赋值
- s[1] = 2
- s[2] = 3
- s = append(s, 4) // 向切片追加元素
In lingua Go, quamquam vestium et segmentorum series elementorum eiusdem generis condere solebant, significantes tamen differentias habent memoriae destinatio, magnitudo, variabilitas, usus. Hic principales differentiae sunt inter vestes et crustae;
[3]int
et[4]int
diversorum generum sunt.[]int
Integer purus genus commune est omnibus.make
Munus vel scalpere ab agmine ad initialize, nulla magnitudine specificata.Exempla hic sunt initializationis pro vestimentis et segmentis:
- // 数组
- var arr [3]int = [3]int{1, 2, 3}
-
- // 切片
- var slice []int = []int{1, 2, 3}
- // 或者使用 make 函数
- slice := make([]int, 3)
append
Munus elementa addit, vel subslices per partes dividendas acquirit.Ratio segmenti ordinatio in acervum collocari potest, et tempus multiplicitas elementorum segmenti accessionis est etiam O (1);append
Inveniri poterit in reallocatione ordinatae subiectarum, quae proprie est operatio O (n).Denique tabulas inspiciamus. Tabula geographica est ordinata associativa in Go quae tabulae claves ad valores habent. Tabulae claves cuiuslibet generis aequabilitatis operantis sustentari possunt, ut integri, punctum fluitantes numeri, chordae, indicibus, interfaces (dummodo valores intra inter faciem comparabiles continentur), structurae et vestitus. Deformatus valor cuiuslibet generis esse potest.
Syntaxis tabulae declarandae talis est:
var mapName map[keyType]valueType
Exempli causa, chartam geographicam cum clavibus tamquam chordis et valores integris declaramus;
var scores map[string]int
Post tabulam declarandam, opus est tibimake
munus ad initialize eam sic adhiberi potest;
scores = make(map[string]int)
Vel, brevi declaratione uti potes et initialize;
scores := make(map[string]int)
Litteras quoque uti potes ad tempus declarationis initializationis;
- scores := map[string]int{
- "alice": 90,
- "bob": 85,
- "charlie": 88,
- }
scores["alice"] = 90
value := scores["alice"]
Si clavis non existit, nullius pretii illius generis valoris reddetur.
Comma -ok idiomatum uti potes ad reprimendam si clavis in charta exsistit:
- value, exists := scores["alice"]
- if exists {
- // 键存在
- } else {
- // 键不存在
- }
ususdelete
Munus potest removere clavem-valorem par ex tabula:
delete(scores, "alice")
Si clavis non est,delete
Munus nihil facit.
ususfor
A loop percurrere potest omnia key-valorem paria in tabula:
- for key, value := range scores {
- fmt.Printf("%s: %dn", key, value)
- }
De valore nulla tabula estnil
.unusnil
Tabula geographica nullam subiectam notitiarum structuram habet et elementa addere non potest.Priusquam elementa in tabula adieceris, uti debesmake
Initialise est.
Vos can uti constructum-inlen
Munus ad numerum key-valorem paria in tabula:
length := len(scores)
Tabulae claves cuiuslibet generis comparabiles esse possunt, ut numeros, chordae, indicibus, interfaces (dummodo valores intra inter faciem continentur), structurae, vestitus, etc. Crustae, tabulae et functiones non possunt clavium tabulae esse, quia huiusmodi rationes aequalitatem comparationes non sustinent.
In lingua Ire, vestis, pecias et tabulae sunt tres structurae vulgariter datae, quarum unaquaeque habet diversas notas et considerationes. Hic quaedam notanda sunt cum utentes;
nil
necesse est ut ante usum initialized.nil
,nil
Tabula geographica adhiberi potest ut paria clavem pretii reponunt et ante usum initialized debet.delete
Clavem delendo, quae non existit, errorem non generat, sed tutum est reprimendi si clavis sit.