码迷,mamicode.com
首页 > 编程语言 > 详细

go语言细节

时间:2015-11-23 11:16:04      阅读:137      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!