首页 > 编程语言 > 详细

go语言细节

时间:2015-11-23 11:14:14      阅读:207      评论:0      收藏:0      [点我收藏+]

值类型与应用类型

  数组与字符串为值类型,切片、映射、通道为值类型,赋值需注意。

 1 package main
 2 
 3 import (
 4     "fmt"
 5 )
 6 
 7 func main() {
 8     //数组
 9     a1 := [3]int{1, 2, 3}
10     a2 := a1
11     a2[0] = 2 
12     fmt.Println(a1) //print: 1 2 3
13     fmt.Println(a2) //print: 2 2 3
14     // 字符串
15     s1 := "123"
16     s2 := s1
17     s2 = "223"
18     fmt.Println(s1) //print 123
19     fmt.Println(s2) //print 223
20     // 切片
21     slice1 := []int{1, 2, 3}
22     slice2 := slice1
23     slice2[0] = 2 
24     fmt.Println(slice1) //print 2 2 3
25     fmt.Println(slice2) //print 2 2 3
26     // map
27     m1 := make(map[int]string)
28     m1[1] = "1" 
29     m2 := m1
30     m2[1] = "2" 
31     fmt.Println(m1) //print 1:2
32     fmt.Println(m2) //print 1:2
33     // chan
34     c1 := make(chan bool)
35     c2 := c1
36     go func() {
37         v := <-c2
38         fmt.Println(v) //print true
39     }() 
40     c1 <- true
41 }

 

go语言细节

原文:http://www.cnblogs.com/--xiaoyao--/p/4987504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!