Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了golang修改struct数组问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
struct数组修改结构体值:
// 11111111 project 11111111.go
package main

import (
	"fmt"
)

type Bid struct {
	CRID  string
	ImpID string
}

func main() {
	bid1 := Bid{
		CRID:  "222",ImpID: "aaa",}

	bid2 := Bid{
		CRID:  "111",ImpID: "bbb",}

	//方法1:赋给一个新的对象
	var szBid []Bid
	szBid = append(szBid,bid1)
	szBid = append(szBid,bid2)
	szValidBid := []Bid{}
	for _,singleBid := range szBid {
		singleBid.CRID = "dddd"
		szValidBid = append(szValidBid,singleBid)
	}
	fmt.Println(szValidBid)

	//方法2
	var szBid1 []Bid
	szBid1 = append(szBid1,bid1)
	szBid1 = append(szBid1,bid2)
	for i,singleBid := range szBid1 {
		singleBid.CRID = "dddd"
		szBid1[i] = singleBid
	}
	fmt.Println(szBid1)

	//错误方法,值不会改变,因为rangge给它赋给了一个新的对象
	var szBid2 []Bid
	szBid2 = append(szBid2,bid1)
	szBid2 = append(szBid2,bid2)
	for _,singleBid := range szBid2 {
		singleBid.CRID = "dddd"
	}
	fmt.Println(szBid2)

	//test
	s := Bid{
		CRID:  "p",ImpID: "q",}

	fmt.Println(s)
	s.CRID = "pp"
	fmt.Println(s)

}
//struct指针数组修改结构体值
package main
import (
    "fmt"
)
type Bid struct {
    CRID  string
    ImpID string
}
func main() {
    var szBid []*Bid
    szBid = append(szBid,&Bid{CRID: "gui",ImpID: "gu"})
    szBid = append(szBid,&Bid{CRID: "gui1",ImpID: "gu1"})
    for _,singleBid := range szBid {
        singleBid.CRID = "dddd"
    }
    fmt.Printf("%+v\n",szBid[0])
    fmt.Printf("%+v\n",szBid[1])
}

大佬总结

以上是大佬教程为你收集整理的golang修改struct数组问题全部内容,希望文章能够帮你解决golang修改struct数组问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: