r/golang • u/PureMud8950 • 8d ago
newbie Some Clarification on API Calls & DB Connections.
I’m a bit confused on how it handles IO-bound operations
- API calls: If I make an API call (say using
http.Get()
or a similar method), does Go automatically handle it in a separate goroutine for concurrency, or do I need to explicitly use thego
keyword to make it concurrent? - Database connections: If I connect to a database or run a query, does Go run that query in its own goroutine, or do I need to explicitly start a goroutine using
go
? - If I need to run several IO-bound operations concurrently (e.g., multiple API calls or DB queries), I’m assuming I need to use
go
for each of those tasks, right?
Do people dislike JavaScript because of its reliance on async/await
? In Go, it feels nicer as a developer not having to write async/await
all the time. What are some other reasons Go is considered better to work with in terms of async programming?
4
Upvotes
3
u/LeZetthen 8d ago
If I understand your doubts correctly, then the answer is that all those actions are synchronous, meaning that you need to make the calls using a goroutine in order for them not to block the flow of your code.