go语言编程

linyilong3 · · 2366 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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语言编程

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2366 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传