go语言编程
linyilong3 · · 3189 次点击 · · 开始浏览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
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
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