- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有两个结构:
kiểu A struct {
BankCode string `json:"bankCode"`
BankName string `json:"bankName"`
}
Và:
type B struct {
MỘT
extra string `json:" extra"`
}
还有两片:listsA []A
Và listsB []B
我想从 listA
Và listB
lấy bankCodes
。 bankcodes
只包含bankcodes
。它是一个[]sợi dây
使用两个函数会很简单。
func getBankCodes(data []A) []string {
res := make([]string, len(data))
for i := 0; i < len(data); i++ {
res[i] = data[i].BankCode
}
return res
}
func getBankCodes(data []B) []string {
res := make([]string, len(data))
for i := 0; i < len(data); i++ {
res[i] = data[i].BankCode
}
return res
}
如何使用一个常用函数?
câu trả lời hay nhất
好吧,干净的解决方案是使用接口(interface),因为 go 不支持经典继承,所以像 []parentclass
这样的东西是行不通的。然而,接口(interface)只能描述函数而不是公共(public)字段,因此您必须(本质上)实现一个 Getter。
// GetBankCoder provides a function that gives the BankCode
type GetBankCoder interface {
getBankCode() string
}
// implement GetBankCoder for A (and indirectly for B)
func (a A) getBankCode() string {
return a.BankCode
}
并使您的 getBankCodes
在该接口(interface)类型上工作,注意函数的参数以及循环内的语句:
func getBankCodes(data []GetBankCoder) []string { // <-- changed
res := make([]string, len(data))
for i := 0; i < len(data); i++ {
res[i] = data[i].getBankCode() // <-- changed
}
return res
}
还有其他解决方案,其中函数参数是 giao diện{}
类型,然后使用反射来确保您实际上可以执行 .BankCode
,但我不这样做就像那些一样,因为它们也没有增加更多的清晰度。
... 但是,如果不先将它放入 []GetBankCoder
var 中,然后再将其提供给函数,我就无法让 golang playground 使其正常工作。
banks := make([]GetBankCoder, 0)
banks = append(banks, A{ BankCode: "ABC", BankName: "ABC Bank"})
getBankCodes(banks)
关于Golang 将列表对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39487543/
Một trong những giáo sư của tôi đã đưa cho chúng tôi một số câu hỏi thực hành và một trong những câu hỏi có dạng như sau (mã giả): a.setColor(blue); b.setColor(red);
Tôi dường như sử dụng bài kiểm tra này rất nhiều if( object && object !== "null" && object !== "unknown" ){ doSomething() } Trên một đối tượng, tôi
Đối tượng/đối tượng C# là loại giá trị hay loại tham chiếu? Tôi đã kiểm tra xem họ có thể giữ tham chiếu này không, nhưng tham chiếu này không thể được sử dụng để thay đổi đối tượng. sử dụng Hệ thống; lớp MyClass { public s
Tôi gặp sự cố khi gửi json qua AJAX. var data = [{"name": "Will", "họ": "Smith", "age": "40"},{"name": "Wil
Khi tôi cố gắng truy cập đối tượng {{result}} trong Chế độ xem của mình (mà tôi đang gửi từ máy chủ Express js), nó chỉ hiển thị [object][object] Có ai biết cách lấy giá trị ở định dạng JSON không? Đây là
Tôi có nhiều loại dữ liệu khác nhau (có thể là chuỗi, số nguyên ...). Đây là một ví dụ đơn giản: public static void main(String[] args) { before("one" }
Xin chào, tôi mới làm quen với json và javascript. Tôi đã tìm ra cách sử dụng dữ liệu json làm bảng trên trang web này. Tôi tò mò tại sao khi tôi cố gắng sử dụng dữ liệu json làm bảng, tôi lại nhận được [Object,Object]
Đã đóng cửa. Sự cố này yêu cầu chi tiết gỡ lỗi. Câu trả lời không được chấp nhận vào thời điểm này. Chỉnh sửa câu hỏi để bao gồm hành vi mong muốn, một vấn đề hoặc lỗi cụ thể và
Tôi nghe người khác nói rằng null == object tốt hơn object == null check. Ví dụ: void m1(Object obj) { if(null == obj) // Is thi.
Đối tượng Match cung cấp quyền truy cập vào các thuộc tính chỉ đọc của các kết quả khớp biểu thức chính quy. Lưu ý rằng các đối tượng Match chỉ có thể được tạo thông qua phương thức Thực thi của đối tượng RegExp, phương thức này thực sự trả về một tập hợp các đối tượng Match. tất cả
Đối tượng lớp Một đối tượng được tạo bằng câu lệnh Lớp. Cung cấp quyền truy cập vào các sự kiện khác nhau của lớp. Giải thích Không được phép khai báo rõ ràng một biến là loại Lớp. Trong ngữ cảnh của VBScript, thuật ngữ "đối tượng lớp" dùng để chỉ
Đối tượng Thư mục cung cấp quyền truy cập vào tất cả các thuộc tính của một thư mục. Giải thích rằng đoạn mã sau minh họa cách lấy một đối tượng Thư mục và xem các thuộc tính của nó: Hàm ShowDateCreated(f
Đối tượng File cung cấp quyền truy cập vào tất cả các thuộc tính của tệp. Đoạn mã sau minh họa cách lấy một đối tượng File và xem các thuộc tính của nó: Hàm ShowDateCreated(fil
Đối tượng Drive cung cấp quyền truy cập vào các thuộc tính của ổ đĩa hoặc mạng chia sẻ. Mô tả Đoạn mã sau minh họa cách sử dụng đối tượng Drive để truy cập các thuộc tính của ổ đĩa: Hàm ShowFreeSpac
Các đối tượng FileSystemObject cung cấp quyền truy cập vào hệ thống tệp của máy tính. Đoạn mã sau minh họa cách sử dụng đối tượng FileSystemObject để trả về một đối tượng TextStream có thể đọc được
Tôi mới làm quen với javascript OOP và tôi nghĩ đây là một câu hỏi tương đối cơ bản nhưng tôi không thể tìm thấy bất kỳ trợ giúp nào bằng cách tìm kiếm trên web. Tôi có thiếu thứ gì đó không, hay tôi đang đi sai hướng? Đây là mã mẫu của tôi: funcio
Tôi có thể tạo ra rất nhiều đồ vật khác nhau một cách dễ dàng. Ví dụ như thế này: var myObject = { myFunction: function () { return "" } };
hàm Person(fname, lname) { this.fname = fname, this.lname = lname, this.getName = hàm()
Có ai có thể giải thích cho tôi tại sao đoạn mã sau lại đưa ra (đối tượng, đối tượng) không? (console.log(dope) cung cấp những gì cần thiết, nhưng trong JSON.stringify và JSON.parse
Tôi đang cố gắng hoàn thành bài tập về biểu đồ phân tán từ Free Code Camp. Tuy nhiên, tôi mới chỉ tự học d3 được vài giờ và tôi đang cố gắng tìm ra cách hiển thị dữ liệu cụ thể trong chú giải công cụ sau khi làm theo hướng dẫn từ lynda.com. Mã này
Tôi là một lập trình viên xuất sắc, rất giỏi!