
Go语言基础
文章平均质量分 56
books1958
Android工程师
展开
-
Go语言中接口组合(接口中包含接口)
11//接口中可以组合其它接口,这种方式等效于在接口中添加其它接口的方法type Reader interface { read()}type Writer interface { write()}//定义上述两个接口的实现类type MyReadWrite struct{}func (mrw *MyReadWrite) read() { fmt.Println("My原创 2014-04-14 15:46:42 · 4060 阅读 · 0 评论 -
Go语言之nil详解
Go语言之nil详解原创 2015-03-23 15:31:00 · 9160 阅读 · 0 评论 -
Golang:生成n个从a到b不重复的随机数
Golang:生成n个从a到b不重复的随机数原创 2015-04-07 18:03:09 · 14806 阅读 · 0 评论 -
算法基础:最大递减数问题(Golang实现)
【最大递减数】问题给出一个非负整数,找到这个非负整数中包含的最大递减数。一个数字的递减数是指相邻的数位从大到小排列的数字。如: 95345323,递减数有:953,95,53,53,532,32, 那么最大的递减数为953。原创 2015-07-08 13:42:21 · 1220 阅读 · 0 评论 -
算法基础:周期串问题
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也可以6和12为周期,结果取最小周期3)。原创 2015-07-02 10:55:54 · 1140 阅读 · 0 评论 -
算法基础:正整数指定规则排序问题(Golang实现)
给定字符串内有很多正整数,要求对这些正整数进行排序,然后返回排序后指定位置的正整数排序要求:按照每个正整数的后三位数字组成的整数进行从小到大排序 1)如果不足三位,则按照实际位数组成的整数进行比较 2)如果相等,则按照输入字符串中的原始顺序原创 2015-07-09 10:21:56 · 1702 阅读 · 0 评论 -
算法基础:大数求和问题
大数求和:给定两个非常大的正整数A和B,位数在50至100之间。求C=A+B;输入:因为A和B很大,从高位到低位,以字符串的形式输入两行数字A和B。A和B的位数在50至100之间。输出:以字符串形式,输出一行,表示A和B的和。原创 2015-07-03 10:04:12 · 2412 阅读 · 0 评论 -
算法基础:排列组合问题-全排列(Golang实现)
【排列组合问题】 一共N辆火车(0<N<10),每辆火车以数字1-9编号,要求以字典序排序输出火车出站的序列号。输入: 包括N个正整数(0<N<10),范围为1到9,数字之间用空格分割,字符串首位不包含空格。 输出: 输出以字典序排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行。原创 2015-07-10 10:33:27 · 6660 阅读 · 0 评论 -
算法:两种方式(递归/循环)实现二分查找
算法:两种方式(递归/循环)实现二分查找原创 2015-06-15 17:55:20 · 3588 阅读 · 0 评论 -
算法基础:整数排序问题(连续整数只保留首尾两个数字)
实现输入一组大于等于0的整数,根据从小到大的顺序排序后输出,排序后有连续数时,只输出连续数中最小和最大的两个数。原创 2015-07-06 11:37:25 · 2039 阅读 · 0 评论 -
算法基础:删除字符串中出现次数最少的字符(Golang实现)
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。原创 2015-07-07 10:23:34 · 1094 阅读 · 0 评论 -
排列组合问题:n个数中取m个(Golang实现)
排列组合是一个基本的数学问题,本程序的目标是输出从n个元素中取m个的所有排列、组合。原创 2015-07-13 13:17:34 · 9339 阅读 · 2 评论 -
算法基础:整数拆分问题(Golang实现)
一个整数总可以拆分为2的幂的和,例如:7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1总共有6种不同的拆分方式。 用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,读入n,输出f(n)原创 2015-07-14 09:57:19 · 1952 阅读 · 0 评论 -
算法基础:数组指定规则排序问题(Golang实现)
给出一个二维数组,请将这个二维数组按第i列(i从1开始)排序,如果第i列相同,则对相同的行按第i+1列的元素排序, 如果第i+1列的元素也相同,则继续比较第i+2列,以此类推,直到最后一列。如果第i列到最后一列都相同,则按原序排列。原创 2015-07-15 17:37:25 · 3541 阅读 · 1 评论 -
Golang实现词频统计
Golang实现词频统计原创 2015-04-30 17:01:09 · 3287 阅读 · 0 评论 -
算法基础:田忌赛马问题(Golang实现)
【田忌赛马问题】 输入: 输入有多组测试数据。 每组测试数据包括3行: 第一行输入N(1≤N≤1000),表示马的数量。 第二行有N个整型数字,即渊子的N匹马的速度(数字大表示速度快)。 第三行有N个整型数字,即对手的N匹马的速度。 当N为0时退出。输出: 若通过聪明的你精心安排,如果能赢得比赛(赢的次数大于比赛总次数的一半),那么输出“YES”。 否则输出“NO”。原创 2015-08-14 17:15:01 · 1854 阅读 · 0 评论 -
Golang+Android文件上传(多文件上传、附带请求参数)
本文是上一篇文章 Golang+Android(使用HttpURLConnection)实现文件上传 的升级版,实现多文件上传功能,并且附带http请求参数。原创 2015-03-27 09:35:54 · 2918 阅读 · 4 评论 -
Go语言:打印杨辉三角
Go语言:打印杨辉三角原创 2015-03-11 09:21:19 · 2354 阅读 · 0 评论 -
Go语言:正则表达式的使用
Go语言:正则表达式的使用原创 2015-03-20 17:17:46 · 8175 阅读 · 0 评论 -
Go语言:使用sort包对任意类型元素的集合进行排序
使用sort包的函数进行排序时,原创 2014-04-15 17:23:04 · 5387 阅读 · 0 评论 -
Go语言实现Fibonacci数列的两个算法(使用递归和不使用递归)
Fibonacci数列:1,1,2,3,5,8,13,21,,, (即从第三项起,每一项的值都等于前两项之后)第一种,使用递归:func fibonacci(a int) int { if a == 1 || a == 2 { return 1 } return fibonacci(a-1) + fibonacci(a-2)}第二种,不使用递归:func fibonac原创 2014-03-04 17:04:02 · 1497 阅读 · 0 评论 -
Go语言中struct的匿名属性特征
Go语言中struct的属性可以没有名字而只有类型,使用时类型即为属性名。(因此,一个struct中同一个类型的匿名属性只能有一个)type PersonC struct { id int country string}//匿名属性type Worker struct { //如果Worker有属性id,则worker.id表示Worker对象的id //如果Worke原创 2014-04-02 13:58:10 · 4684 阅读 · 0 评论 -
Go语言struct的创建与初始化、函数调用
package structTest//struct//Date:2014-4-1 09:57:37import ( "fmt" "strings")func StructTest01Base() { //structTest0101() //structTest0102() structTest0103()}//定义一个structtype Student s原创 2014-04-01 10:58:33 · 52269 阅读 · 1 评论 -
Go语言中append函数的强大功能
Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁。以下为简单对比:.将一个slice插入到另一个slice的指定位置:不使用append:func insertSliceAtIndex(slice_origin []int, slice_to_insert []int, insertIndex int) (result []int, err error)原创 2014-03-27 15:02:08 · 7199 阅读 · 0 评论 -
Go语言创建、初始化数组的各种方式
Go语言的语法很灵活,以下展示了创建并初始化数组的多种方式://数组初始化的各种方式func arraySliceTest0201() { //创建数组(声明长度) var array1 = [5]int{1, 2, 3} fmt.Printf("array1--- type:%T \n", array1) rangeIntPrint(array1[:]) //创建数组(不声明长原创 2014-03-18 15:10:56 · 47349 阅读 · 0 评论 -
关于Go语言中defer关键字
在Go语言中,defer语句会在该函数结束的时候被调用,即使后面的语句运行时出现异常了defer语句仍然会被执行。需要注意的是,如果defer语句中引用了参数,则该参数的值将是程序到defer这一行的时候的值,而与后面的语句没有关系。以下为简单测试:package mainimport "fmt"func main() { func_b_0() func_b_1() fu原创 2014-02-27 17:34:56 · 2181 阅读 · 0 评论 -
关于Go语言中nil和interface的问题
关于Go语言中nil和interface的问题:package demo01//关于Go语言中nil和interface的问题//Date:2014-2-19 20:04:25import ( "fmt")func NilTestBase() { test05()}//类Student是类Person的子类type Person struct {}type原创 2014-02-19 20:06:09 · 1380 阅读 · 0 评论 -
Go语言中普通函数与方法的区别
1.对于普通函数,接收者为值类型时,不能将指针类型的数据直接传递,反之亦然。2.对于方法(如struct的方法),接收者为值类型时,可以直接用指针类型的变量调用方法,反过来同样也可以。以下为简单示例:package structTest//普通函数与方法的区别(在接收者分别为值类型和指针类型的时候)//Date:2014-4-3 10:00:07import ( "fmt"原创 2014-04-03 10:35:19 · 3348 阅读 · 0 评论 -
Go语言使用组合的方式实现多继承
在大多数面向对象 的编程语言中,多继承都是不支持的。z原创 2014-04-09 17:18:11 · 1822 阅读 · 0 评论 -
Go语言(服务器开发):简易TCP客户端与服务端
一 服务端,为每个客户端新开一个goroutine原创 2014-09-23 11:19:51 · 3041 阅读 · 0 评论 -
Go语言(服务器开发):客户端向服务器发送数据并接收返回数据
客户端向服务器发送数据并接收返回数据。示例代码:原创 2014-09-24 18:26:04 · 4390 阅读 · 0 评论 -
算法:寻找数组的第二大的元素(不排序、只循环一次)
算法:寻找数组的第二大的元素(不排序、只循环一次)原创 2015-01-15 23:10:52 · 1649 阅读 · 0 评论 -
Go语言(服务器开发):实现最简单的HTTP GET/POST接口
Go语言提供了http包,可以很轻松的开发http接口。原创 2014-12-11 11:06:36 · 14398 阅读 · 3 评论 -
排序算法详解(Go语言实现):冒泡排序/选择排序/快速排序/插入排序
算法是程序的灵魂,而排序算法则是一种最基本的算法。排序算法有许多种,本文介绍4中排序算法:冒泡排序,选择排序,快速排序和插入排序,以从小到大为例。原创 2015-01-03 10:56:36 · 6317 阅读 · 1 评论 -
Golang+Android(使用HttpURLConnection)实现文件上传
本文要演示的是使用Android程序作为客户端(使用HttpURLConnection访问网络),Golang程序作为服务器端,实现文件上传。原创 2015-03-25 18:31:23 · 2443 阅读 · 0 评论 -
Golang:slice之append时原数组发生变化的问题
Golang:slice之append时原数组发生变化的问题原创 2015-07-17 18:30:25 · 10050 阅读 · 1 评论