go语言编程

package 指明源文件所在的包

func 用于定义函数

go里面除了for循环的初始化用到;,其他大部分都不需要


go中没有while循环,不过可以利用 for condition来模拟while

 

编译:

go builde 编译的文件名

定义一个变量,比如字符串

var s string = ""

go也自动推导出类型

var s = "";

也可以 s:=""

:=用在值声明并且初始化

05    package main

07    import (
08        "os"
09        "flag"  // command line option parser
10    )


12    var omitNewline = flag.Bool("n", false, "don't print final newline")


14    const (
15        Space = " "
16        Newline = "\n"
17    )


19    func main() {
20        flag.Parse()   // Scans the arg list and sets up flags
21        var s string = ""
22        for i := 0; i < flag.NArg(); i++ {
23            if i > 0 {
24                s += Space
25            }
26            s += flag.Arg(i)
27        }
28        if !*omitNewline {
29            s += Newline
30        }
31        os.Stdout.WriteString(s)
32    }

  

go语言除了C有的int ,float,还有int8,int32,int32跟int同样大小,但是跟int不同,byte跟int8同样大小,类型也一样

s:="string"有点类似于C语言的char *str = "string",这样是不允许修改字符串内容的,只能更改str的指向

如果要创建可以修改的字符串,必须使用数组

 

声明一个数组 s:= []int{1,2,3}

 

var arrayOfInt [3] int{1,2,3},定义数组,不过arrayofint不能退化成指针

 

a:= [2][2]int{ [2]int{1,2},[2]int{3,4}}

 

slice

s:= [3]int{1,2,3};

sl = s[1:2];

fmt.Printf("%d\n",sl[0])

输出是2

go中的map要使用make来创建

可以用range来遍历数组,map,slice

for _;days = range monthdays {

fmt.Printf("%d\n",days);

}

 

函数:

def func(xs []int)

这个函数是传入一个splite而不是数组,在使用这个函数的时候:fun(array[:])而不是func(array),会提示无法把array转化为 []int

本文来自:博客园

感谢作者:linyilong3

查看原文:go语言编程

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。