Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 8 years ago.
Improve this question
I have been walking through the tutorials and know how to declare variables but can not find how to declare of variable as type Time.
How Time is declared in Go?
You will find plenty of example of Time variable declaration in the package time itself, as in the Duration example
t0 := time.Now()
This is using the "short variable declaration", which is a shorthand for a regular variable declaration with initializer expressions but no types.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 5 months ago.
Improve this question
I would like to find a clear way to demonstrate concretely that a variable of type string holds a 2-words data structure (at least as far as I understand it).
This demonstration is for didactic purposes.
So, as I know, a string is a 2 words data structure where one word holds the address of the underlying slice of bytes and the word holds the length.
Given a variable defined like this a := "a string literal", is there a way to view (or print) the content of the variable in its 2 words format so that people can actually see this 2-words structure?
is there a way to view (or print) the content of the variable in its 2 words format?
No, because this is an unspecified implementation detail.
If you are okay with code that might brake: Use reflect.StringHeader. See unsafe.Pointer point (6) on how to do this.
Best not to do this. As said: this is a deliberately hidden implementation detail.
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 7 months ago.
Improve this question
All of these work in golang:
var i int = 2
var i = 2
i := 2
Why are we saying golang is statically typed? It should be dynamically typed right?
If golang is performing type resolution during compile time, then it should be increasing the compile time of the program, so why is golang known for its faster compile time?
In all these instances, i is an integer. In the case of i := 2, the variable i is implicitly an integer. You could later assign 51 or 42 to i, but you could not assign any other datatype to is.
Go just implicitly infers the datatype from the initial assignment.
Pasting #mkopriva's answer.
It's statically typed because you can't change a variable's type at runtime. Not specifying a variable's type explicitly does not mean that variable does not have a type, in these situations "type inference" is used. e.g. the compiler looks looks at the RHS of the expression, sees 2, and decides, based on rules enumerated in the spec, what type to give to the variable.
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 2 years ago.
Improve this question
How can we check if a domain is valid or not in go? Is there some function in go to validate it?
Some of the conditions are
1.) The domain length should be between 4 and 48
2.) Domain should use only letters, numbers, hyphens, and periods.
Example
something.in -> valid
some-stuff.in -> valid
some!thing.com -> invalid
Have you looked at the net package? : https://golang.org/pkg/net/?m=all#isDomainName and maybe also combining it with checking the length with len() ?
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
I have strings like:
NoMethodError: undefined method 'sort_by!' for #<Hash:0x00007f98f03c84e0>
These strings can contain n number of such parts: <Hash:0x00007f98f03c84e0>.
Here, 0x00007f98f03c84e0 is just a placeholder of memory reference. And also Hash is type of object of which this memory reference is. There is no need to discuss how these strings got formed but in the end i have strings which can have anything like <ClassName:MEM_REF> and i have to replace MEM_REF part.
Going back to my original example, I want to remove this memory ref part 0x00007f98f03c84e0 with any string of my liking. Again, 0x00007f98f03c84e0 is an example, it will be any arbitrary memory address.
Looking for an elegant way of doing this in ruby.
Try following regex in ruby console, should work: /:[0-9]x[0-9A-Za-z]*(?=>)/.
And to mask these refs with anything else, try input_string.gsub!(/:[0-9]x[0-9A-Za-z]*(?=>)/, "REPLACE_TEXT")
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 5 years ago.
Improve this question
I have started to study Go and I am trying to understand what happens below:
time.Sleep(1000 * time.Millisecond) // Works
time.Sleep("1000ms") // Doesn't work
If you print to the console time.Milliseconds you can see 1ms. So I think that I can simply call that method with the value "1000ms", but I get an error. Next I searched for operator overloading in Go, but it doesn't support it. I understand that time.Sleep gets the time.Milliseconds data type, but how does Go allow it if it doesn't support overloading operators like *?
Sleep() accept a Duration type which is int64. So you can't pass string type object as an argument without typecasting it.
You got the output 1ms because of this method
(time.Duration) String() string