我使用的是套餐,而不是返回string
,而是返回economy.ClassId
您可以看到here
我想传递economy.ClassId
,这只是一串数字,如" 531569319"对于一个不是economy.ClassId
的字符串的函数,有没有办法将这种类型转换为字符串或否。感谢。
我知道您可能会喜欢strconv.FormatUint()
,但我会将其用于自定义类型。
答案 0 :(得分:6)
更一般地说,您可以在类型https://golang.org/pkg/fmt/#Stringer
上实施纵梁界面func (c ClassId) String() string {
return strconv.FormatUint(uint64(c),10)
}
并使用otherFunc(classId.String())
http://play.golang.org/p/cgdQZNR8GF
PS:也是首字母缩写词(ID)应该是所有首都
答案 1 :(得分:5)
- (IBAction)moveDownButtonClicked:(id)sender {
_sliderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width
, 0)];
[self.view.window addSubview: _sliderView];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
_sliderView.frame = CGRectMake(0,0,
[[UIScreen mainScreen] bounds].size.width,
[[UIScreen mainScreen] bounds].size.height*0.5);
[UIView commitAnimations];
}
被声明为ClassId
,因此虽然type ClassId uint64
与ClassId
完全相同,但它们具有相同的基础类型,因此您可以将从一个转换为另一个。要将值uint64
转换为x
类型(如果允许),请编写T
。所以,在你的情况下:
T(x)
答案 2 :(得分:0)
另一种可能更惯用的方法是使用Go fmt.Sprintf使用format string specification。
两个例子......
以下内容将classId转换为字符串基数10:
classIDStr := fmt.Sprintf("%d", classId)
以下内容将其转换为字符串十六进制数字,其中a-f数字为小写:
classIDHex := fmt.Sprintf("%x", classId)