《go语言程序设计》第九章练习
来源:互联网 发布:金融网络销售赚钱吗 编辑:程序博客网 时间:2024/05/18 03:25
//9.3 代码
package main
import (
"fmt"
)
type tester interface{}
func main() {
var map1 = map[tester]tester{"ket": 13, 10: true, "csc": true, true: "sa"}
fmt.Println(map1)
}
//9.4 代码
package main
import (
"fmt"
)
type people struct {
name string
num int
}
type tester interface{}
func main() {
human := people{"wangdaye", 22}
it := make([]tester, 8)
it[0], it[1], it[2], it[3], it[4], it[5], it[6], it[7] = 1, "hello", 3.14, true, "wang", -2,human, 'c'
for index, element := range it {
if value, ok := element.(int); ok {
fmt.Printf("it[%d] is an int,value =%d\n", index, value)
} else if value, ok := element.(string); ok {
fmt.Printf("it[%d] is a string,value =%s\n", index, value)
} else if value, ok := element.(people); ok {
fmt.Printf("it[%d] is a people,value =%v\n", index, value)
} else if value, ok := element.(bool); ok {
fmt.Printf("it[%d] is a bool,value =%v\n", index, value)
} else {
fmt.Printf("it[%d] is other type.\n", index)
}
}
}
//9.5 代码
package main
import (
"fmt"
"reflect"
)
type student struct {
Num string
Name string
Sex string
Score float32
}
func SetValue(s interface{}) {
v := reflect.ValueOf(s)
if v.Kind() != reflect.Ptr || !v.Elem().CanSet() {
fmt.Println("Cannot set")
return
} else {
v = v.Elem()
}
v.Field(0).SetString("1708")
v.Field(1).SetString("wang")
v.Field(2).SetString("男")
v.Field(3).SetFloat(66.6)
v.Field(2).SetString("女")
// for i := 0; i <</span> v.NumField(); i++ {
// switch v.Field(i).Kind() {
// // case reflect.Int:
// // v.Field(i).SetInt(1708)
// case reflect.String:
// v.Field(i).SetString("daye")
// case reflect.Float32:
// v.Field(i).SetFloat(66.6)
// }
// }
}
func main() {
stu := student{"1304", "wangdaye", "女", 99.9}
SetValue(&stu)
fmt.Println(stu)
}
ps:做题的时候不会的有参考书上,网上以及请教别人,所以那个分类(原创,转载,翻译)我也不知道怎么区分,如有雷同,那估计就是看的同一本书吧,哈哈。
阅读全文
0 0
- 《go语言程序设计》第九章练习
- 《Go语言程序设计》第3章练习
- 《Go语言程序设计》第4章练习
- 《Go语言程序设计》第5章练习
- 《Go语言程序设计》第6章练习
- 《Go语言程序设计》第7章练习
- 《Go语言程序设计》第8章练习
- 《java语言程序设计》第九章学习总结
- 编程练习 第九章
- 第九章练习
- 第九章练习总结
- Go语言程序设计:集合类型
- java语言程序设计基础篇第九章编程练习题
- JAVA语言程序设计(基础篇)第九章答案
- simply scheme 第九章 练习
- 第九章 接口 练习2
- 第九章 9.4节练习
- 第九章编程练习(3)
- IPC--消息队列
- datastae连接mssql配置
- JSONObject null转为“null”源码解析
- C++图像缩放(StretchBlt,StretchDIBits,双线性内插法)
- 生产者、消费者请求限定 (媒体类型和内容类型解析)
- 《go语言程序设计》第九章练习
- Highcharts中更新series的5种方法
- C++搜索与回溯算法之母亲的牛奶
- iOS-延时/定时总结(OC)
- Android动画总结系列(1)——帧动画
- C++primer charpter 4笔记(一)
- SOAP webserivce 和 RESTful webservice 对比及区别
- win10傻瓜式安装教程
- fastJson按照字符串顺序遍历JSON字段