for j:=0;j<4 ;j++ { } 與for _,v :=range persons {} 區別
請大神詳細講解一下這二者的區別(比較深入點比較好)
package main
import (
"fmt"
"strconv"
)
func main() {
person:=new(Person)
persons:=make([]Person,4)
for i:=0;i<4;i++{
person.Id= strconv.Itoa(i)
person.Name = "sun"
person.AvatarUrl="AAAAA"
persons[i]=*person
}
fmt.Println("----原始陣列-----")
fmt.Println(persons)
for _,v :=range persons {
v.Name="SSS"
}
fmt.Println("----range-----")
fmt.Println(persons)
for j:=0;j<4 ;j++ {
persons[j].Name="JJJ"
}
fmt.Println("----iiiii-----")
fmt.Println(persons)
}
type Person struct {
Id string
Name string
AvatarUrl string
}
輸出結果為:
----原始陣列-----
[{0 sun AAAAA} {1 sun AAAAA} {2 sun AAAAA} {3 sun AAAAA}]
----range-----
[{0 sun AAAAA} {1 sun AAAAA} {2 sun AAAAA} {3 sun AAAAA}]
----iiiii-----
[{0 JJJ AAAAA} {1 JJJ AAAAA} {2 JJJ AAAAA} {3 JJJ AAAAA}]
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- range與enumerate的區別
- Python range與enumerate函式區別解析Python函式
- 陣列中&a與&a[0]的區別陣列
- v$datafile.file#與v$tempfile.file#區別
- exit(0)與exit(1)、return的區別
- Python中range和xrange的區別Python
- 【檢視】V$BGPROCESS與V$PROCESS間的區別與聯絡
- 華為榮耀4X與榮耀V8區別對比評測
- android之support-v4、v7、v13的區別Android
- 一文讀懂常用日誌框架(Log4j、SLF4J、Logback)有啥區別框架
- C語言中pi=&j和*pi=j的區別C語言
- v$sql,v$sqlarea,v$sqltext區別SQL
- outline:0與outline:none區別None
- V$SQL 和V$SQLAREA區別SQL
- v$sysstat和v$sesstat區別
- J2SE J2EE J2ME的區別
- log4j日誌級別
- 0、""(空字串)、Null、Empty、與 Nothing 的區別 (轉)字串Null
- NULL和0的區別Null
- Android Support v4、v7、v13的區別以及應用場景Android
- v$sql和v$sqlarea的區別SQL
- 紅米note4與小米4區別對比評測
- HTLM4與HTML5的區別HTML
- oracle index unique scan/index range scan和mysql range/const/ref/eq_ref的區別OracleIndexMySql
- Python學習系列之 xrange和range的區別!Python
- LangChain4j支援的API型別LangChainAPI型別
- ipv4與ipv6的聯絡與區別
- Oracle RMAN中全備份與0級備份區別Oracle
- [20180917]關於分析函式的range與rows的區別.txt函式
- v-if和v-show的區別
- V$sql_text v$sqlarea v$sql 的區別SQL
- Oracle9i中v$sql、v$sqlarea、v$sqltext、v$sql_plan的聯絡與區別OracleSQL
- tomcat log4j時區設定Tomcat
- IPv4與IPv6有哪些區別?
- &與&&, |與||區別
- Lo4j(二)級別和優化優化
- log4j日誌級別以及配置
- org.apache.log4j日誌級別Apache